Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. AVM DECT200/smartfritz

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

AVM DECT200/smartfritz

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
28 Beiträge 8 Kommentatoren 6.9k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    mamoel
    schrieb am zuletzt editiert von
    #1

    Hallo Kollegen,

    ich glänze mal wieder mit meinem JavaScript-Unwissen :roll:

    Ich würde gerne das Modul 'smartfritz' (https://github.com/nischelwitzer/smartfritz) einbinden, um mein AVM DECT200 zu steuern. Die Installation mittels````
    npm install smartfritz

    
    Doch wie benutze ich diese Bibliothek/dieses Modul?
    
    

    var fritz = require('smartfritz');

    liefert leider:
    

    20:25:18.625 [error] javascript.0 script.js.selfmade.FritzDECT: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/smartfritz' at script.js.selfmade.FritzDECT:1:13
    20:25:18.626 [error] javascript.0 script.js.selfmade.FritzDECT: TypeError: Cannot read property 'getSessionID' of undefined at script.js.selfmade.FritzDECT:3:6

    
    Muss ich dem ****require**** noch den richtigen Pfad mitgeben?

    <size size="85">ioBroker (docker) auf Synology DS418play

    Alexa2, cloud, fritzdect, g-homa, harmony, hm-rega, hm-rpc, hs100, hue, javascript, nuki, ring, sayit, sonos, sql, viessmannapi</size>

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @mamoel:

      Doch wie benutze ich diese Bibliothek/dieses Modul? `
      Trage es in der Konfiguration der JS-Instanz unter "Zusätzliche NPM-Module" ein.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        mamoel
        schrieb am zuletzt editiert von
        #3

        Vielen Dank, jetzt funktioniert's.

        <size size="85">ioBroker (docker) auf Synology DS418play

        Alexa2, cloud, fritzdect, g-homa, harmony, hm-rega, hm-rpc, hs100, hue, javascript, nuki, ring, sayit, sonos, sql, viessmannapi</size>

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          mamoel
          schrieb am zuletzt editiert von
          #4

          Falls es noch jemanden interessiert, wie man die Werte des AVM Fritz! DECT200 in den ioBroker bekommt:

          npm install smartfritz-promise
          ````in der Kommandozeile ausführen.
          
          Das Modul im JavaScript-Adapter eintragen.
          
          Folgendes Script anpassen (ain des DECT200 und user+password des FritzBox-Benutzers):
          

          const ain = 'XXXXXXXXXXXX';
          var fritz = require('smartfritz-promise');

          //Starte Scheduler (5s)
          schedule("*/5 * * * * *", function () {
          createStates();
          getDeviceReadings(ain);
          });

          function getDeviceReadings(devId) {
          fritz.getSessionID("user", "password").then(function(sid) {
          fritz.getSwitchPower(sid, devId).then(function(power) {
          if (isNumeric(power)) {
          var p = parseFloat(power);
          //log('Power: ' + p);
          setState('DECT200.Leistung', p);
          }
          });
          fritz.getTemperature(sid, devId).then(function(temperature) {
          if (isNumeric(temperature)) {
          var t = parseFloat(temperature);
          //log('Temperature: ' + t);
          setState('DECT200.Temperatur', t);
          }
          });
          });
          }

          function createStates() {
          createState('DECT200.Leistung', 0, {name: 'Leistung DECT200', type: 'number', unit:'W'});
          createState('DECT200.Temperatur', 0, {name: 'Temperatur DECT200', type: 'number', unit:'°C'});
          }

          function isNumeric(n) {
          return !isNaN(parseFloat(n)) && isFinite(n);
          }

          
          Ich bin ja wie gesagt noch Amateur in JavaScript, aber obiges Script läuft bisher ziemlich problemlos.
          [1340_js.png](/assets/uploads/files/1340_js.png)

          <size size="85">ioBroker (docker) auf Synology DS418play

          Alexa2, cloud, fritzdect, g-homa, harmony, hm-rega, hm-rpc, hs100, hue, javascript, nuki, ring, sayit, sonos, sql, viessmannapi</size>

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @mamoel:

            npm install smartfritz-promise
            

            in der Kommandozeile ausführen. `
            Das ist nicht erforderlich. Der Eintrag in der JS-Instanz-Konfiguration ist ausreichend.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Antwort Letzte Antwort
            0
            • arteckA Offline
              arteckA Offline
              arteck
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              ich kram den mal raus…

              hat das einer am laufen... bekomme keine werte raus..

              aber auch ohne fehlermeldung

              axo.paket wurde umbenannt "fritzapi"

              const ain = '4711';
              var fritz = require('fritzapi');
              var moreParam = { url:"192.168.13.1" };
              
              //Starte Scheduler (5s)
              schedule("*/5 * * * * *", function () {
                  createStates();
                  getDeviceReadings(ain);
              });
              
              function getDeviceReadings(devId) {
                  fritz.getSessionID("hier user ", "geheim").then(function(sid) {
                      fritz.getSwitchPower(sid, devId).then(function(power) {
                          if (isNumeric(power)) {
                              var p = parseFloat(power);
                           //   log('Power: ' + p);
                              setState('DECT200.Leistung', p);
                          }
                      });
                      fritz.getTemperature(sid, devId).then(function(temperature) {
                          if (isNumeric(temperature)) {
                              var t = parseFloat(temperature);
                          //    log('Temperature: ' + t);
                              setState('DECT200.Temperatur', t);
                          }
                      });
                  }, moreParam);
              }
              
              function createStates() {
                  createState('DECT200.Leistung',   0, {name: 'Leistung DECT200', type: 'number', unit:'W'});
                  createState('DECT200.Temperatur', 0, {name: 'Temperatur DECT200', type: 'number', unit:'°C'});
              }
              
              function isNumeric(n) {
                return !isNaN(parseFloat(n)) && isFinite(n);
              }
              

              1518_vis.png

              zigbee hab ich, zwave auch, nuc's genauso und HA auch

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mamoel
                schrieb am zuletzt editiert von
                #7

                Bei mir läuft das seit rund einem halben Jahr ohne Aussetzer. Die einzige Änderung war (wie Du ja schon bemerkt hast), dass das Paket inzwischen 'fritzapi' heißt.

                Hast Du schon getestet, ob die Kommunikation prinzipiell funktioniert, in dem Du einzelne Befehle absetzt, wie z.B. den um eine SID zu bekommen?

                https://www.npmjs.com/package/fritzapi

                <size size="85">ioBroker (docker) auf Synology DS418play

                Alexa2, cloud, fritzdect, g-homa, harmony, hm-rega, hm-rpc, hs100, hue, javascript, nuki, ring, sayit, sonos, sql, viessmannapi</size>

                1 Antwort Letzte Antwort
                0
                • arteckA Offline
                  arteckA Offline
                  arteck
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #8

                  na jetzt wo du es sagst.

                  18:47:40.880	[info]	javascript.1 Stop script script.js.rest.dect200
                  18:47:40.888	[info]	javascript.0 Stop script script.js.rest.dect200
                  18:47:40.955	[info]	javascript.0 Start javascript script.js.rest.dect200
                  18:47:40.967	[info]	javascript.0 script.js.rest.dect200: registered 0 subscriptions and 0 schedules
                  

                  keine Fehlermeldung aber auch keine sid…

                  fritz.getSessionID("xxx", "xxxx", {
                    url: "192.168.178.1",
                    strictSSL: false         
                  }).then(function(sid) {
                    console.log(sid);
                  
                    fritz.getSwitchList(sid, options).then(function(ains){
                      console.log(ains);
                    });
                  });
                  

                  was für ne fritzbox hasten du ??

                  zigbee hab ich, zwave auch, nuc's genauso und HA auch

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    mamoel
                    schrieb am zuletzt editiert von
                    #9

                    Ich habe die 7490

                    <size size="85">ioBroker (docker) auf Synology DS418play

                    Alexa2, cloud, fritzdect, g-homa, harmony, hm-rega, hm-rpc, hs100, hue, javascript, nuki, ring, sayit, sonos, sql, viessmannapi</size>

                    1 Antwort Letzte Antwort
                    0
                    • arteckA Offline
                      arteckA Offline
                      arteck
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #10

                      softwareversion 6.60 ??

                      ich sehe gerade der upnp adapter liefert auch keine sid

                      zigbee hab ich, zwave auch, nuc's genauso und HA auch

                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        mamoel
                        schrieb am zuletzt editiert von
                        #11

                        Ja, die derzeit aktuellste (6.60).

                        <size size="85">ioBroker (docker) auf Synology DS418play

                        Alexa2, cloud, fritzdect, g-homa, harmony, hm-rega, hm-rpc, hs100, hue, javascript, nuki, ring, sayit, sonos, sql, viessmannapi</size>

                        1 Antwort Letzte Antwort
                        0
                        • arteckA Offline
                          arteckA Offline
                          arteck
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #12

                          hab ich auch.. muss ich nicht verstehen..

                          box gerade neu gestertet nix… keine sid...

                          vielleicht liegt es da dran dass meine 7490 an der 6360... obwohl neee... warum auch...

                          zigbee hab ich, zwave auch, nuc's genauso und HA auch

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            mamoel
                            schrieb am zuletzt editiert von
                            #13

                            Hast Du dem Benutzer in den Einstellungen auch die "Smarthome"-Freigabe erteilt?

                            System->FRITZ!Box-Benutzer->Bearbeiten

                            <size size="85">ioBroker (docker) auf Synology DS418play

                            Alexa2, cloud, fritzdect, g-homa, harmony, hm-rega, hm-rpc, hs100, hue, javascript, nuki, ring, sayit, sonos, sql, viessmannapi</size>

                            1 Antwort Letzte Antwort
                            0
                            • arteckA Offline
                              arteckA Offline
                              arteck
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #14

                              türlich..

                              zigbee hab ich, zwave auch, nuc's genauso und HA auch

                              1 Antwort Letzte Antwort
                              0
                              • arteckA Offline
                                arteckA Offline
                                arteck
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #15

                                so ich habs

                                nachdem ich die index.js aus dem fritzapi auseinander genommen habe ….

                                die

                                getSessionID(username, password,"192.168.1.1").then(function(sid) {

                                war verkehrt..zumindest was die parameter angeht

                                zigbee hab ich, zwave auch, nuc's genauso und HA auch

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  mamoel
                                  schrieb am zuletzt editiert von
                                  #16

                                  Was genau musstest Du an meinem Skript ändern? Das würde eventuell anderen Interessierten weiter helfen.

                                  Deine Box scheint nicht unter 'fritz.box' erreichbar zu sein oder warum verwendest Du

                                  fritz.getSessionID("user", "password", {
                                    url: "192.168.178.1",
                                    strictSSL: false         // workaround DEPTH_ZERO_SELF_SIGNED_CERT SSL error 
                                  }).then(function(sid) {
                                    console.log(sid);
                                  

                                  statt einfach nur

                                  var fritz = require('fritzapi');
                                  
                                  fritz.getSessionID("user", "password").then(function(sid) {
                                      console.log(sid);
                                  });
                                  

                                  <size size="85">ioBroker (docker) auf Synology DS418play

                                  Alexa2, cloud, fritzdect, g-homa, harmony, hm-rega, hm-rpc, hs100, hue, javascript, nuki, ring, sayit, sonos, sql, viessmannapi</size>

                                  1 Antwort Letzte Antwort
                                  0
                                  • arteckA Offline
                                    arteckA Offline
                                    arteck
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #17

                                    @mamoel:

                                    Was genau musstest Du an meinem Skript ändern? Das würde eventuell anderen Interessierten weiter helfen.

                                    Deine Box scheint nicht unter 'fritz.box' erreichbar zu sein oder warum verwendest Du `

                                    jep genau so ist es…

                                    geändert habe ich nichts.. im Beispiel ist die nur die Parameterübergabe verkehrt

                                    fritz.getSessionID("user", "password", {
                                      url: "192.168.178.1",
                                      strictSSL: false         // workaround DEPTH_ZERO_SELF_SIGNED_CERT SSL error 
                                    }).then(function(sid) {
                                    
                                    

                                    sondern

                                    fritz.getSessionID("user", "password", "192.168.178.1",
                                    
                                    

                                    zigbee hab ich, zwave auch, nuc's genauso und HA auch

                                    1 Antwort Letzte Antwort
                                    0
                                    • E Offline
                                      E Offline
                                      ein-bayer
                                      schrieb am zuletzt editiert von
                                      #18

                                      Hallo,

                                      ich hab gerade das script getestet, läuft soweit.

                                      jetzt hab ich bei mir 2 dect200, wo gebe ich in dem script an welcher stecker verwendet wird?

                                      1 Antwort Letzte Antwort
                                      0
                                      • E Offline
                                        E Offline
                                        ein-bayer
                                        schrieb am zuletzt editiert von
                                        #19

                                        habs übersehen , die erste zeile

                                        const ain = '4711';

                                        ist die Lösung!!

                                        1 Antwort Letzte Antwort
                                        0
                                        • F Offline
                                          F Offline
                                          foxthefox
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #20

                                          Falls es von Interesse ist, ich hab einen Adapter iobroker.fritzdect mit geeigneten metro-widget erstellt.

                                          Ist derzeitig noch nicht im admin Bereich gelistet, aber über npm installierbar.

                                          Gruß

                                          Klaus

                                          Adapterüberblick: Profil Github;

                                          Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

                                          Ein Aufruf: video

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          353

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe