Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] Hilfe bei "crypto" (für neue Switchbot API)

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[gelöst] Hilfe bei "crypto" (für neue Switchbot API)

Scheduled Pinned Locked Moved JavaScript
4 Posts 2 Posters 265 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • PlasmachefP Offline
    PlasmachefP Offline
    Plasmachef
    wrote on last edited by Plasmachef
    #1

    Hallo Zusammen,

    habe grade erfahren, dass die API für Switchbot sich seit kurzem geändert hat (Link).
    In dieser wird die Authentifizierung anders gehandhabt als zuvor.

    Dieses Beispiel wird dazu angegeben (Quelle) :

    const token = "yourToken";
    const secret = "yourSecret";
    const t = Date.now();
    const nonce = "requestID";
    const data = token + t + nonce;
    const signTerm = crypto.createHmac('sha256', secret).update(Buffer.from(data, 'utf-8')).digest();
    const sign = signTerm.toString("base64");
    console.log(sign);
    

    Zeile 6 läuft hier auf einen Fehler bzgl. "crypto"

    Kann mir bitte jemand behilflich sein und mir das übersetzen, dass der ioBroker es versteht und ich damit die neue API ansprechen kann?

    Herzlichen Dank

    PlasmachefP 1 Reply Last reply
    0
    • PlasmachefP Plasmachef

      Hallo Zusammen,

      habe grade erfahren, dass die API für Switchbot sich seit kurzem geändert hat (Link).
      In dieser wird die Authentifizierung anders gehandhabt als zuvor.

      Dieses Beispiel wird dazu angegeben (Quelle) :

      const token = "yourToken";
      const secret = "yourSecret";
      const t = Date.now();
      const nonce = "requestID";
      const data = token + t + nonce;
      const signTerm = crypto.createHmac('sha256', secret).update(Buffer.from(data, 'utf-8')).digest();
      const sign = signTerm.toString("base64");
      console.log(sign);
      

      Zeile 6 läuft hier auf einen Fehler bzgl. "crypto"

      Kann mir bitte jemand behilflich sein und mir das übersetzen, dass der ioBroker es versteht und ich damit die neue API ansprechen kann?

      Herzlichen Dank

      PlasmachefP Offline
      PlasmachefP Offline
      Plasmachef
      wrote on last edited by
      #2

      folgende Lösung habe ich für Zeile 6 gefunden:

      const signTerm = require('crypto').createHmac('sha256', secret).update(Buffer.from(data, 'utf-8')).digest();
      

      Kann mir das bitte noch jemand bestätigen?

      Danke :-)

      OliverIOO 1 Reply Last reply
      0
      • PlasmachefP Plasmachef

        folgende Lösung habe ich für Zeile 6 gefunden:

        const signTerm = require('crypto').createHmac('sha256', secret).update(Buffer.from(data, 'utf-8')).digest();
        

        Kann mir das bitte noch jemand bestätigen?

        Danke :-)

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        wrote on last edited by OliverIO
        #3

        @plasmachef
        Wahrscheinlich hätte es gereicht ganz am Anfang die folgende Zeile einzufügen

        const crypto = require(“crypto”);
        

        Wobei in der Node Doku das so steht
        https://nodejs.org/api/crypto.html

        const crypto = require(“node:crypto”);
        

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        PlasmachefP 1 Reply Last reply
        0
        • OliverIOO OliverIO

          @plasmachef
          Wahrscheinlich hätte es gereicht ganz am Anfang die folgende Zeile einzufügen

          const crypto = require(“crypto”);
          

          Wobei in der Node Doku das so steht
          https://nodejs.org/api/crypto.html

          const crypto = require(“node:crypto”);
          
          PlasmachefP Offline
          PlasmachefP Offline
          Plasmachef
          wrote on last edited by
          #4

          @oliverio
          Herzlichen Dank :-)

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          409

          Online

          32.6k

          Users

          82.3k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe