Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. FritzFon klingeln lassen, TR-64 Adapter??

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    FritzFon klingeln lassen, TR-64 Adapter??

    This topic has been deleted. Only users with topic management privileges can see it.
    • amg_666
      amg_666 last edited by

      Ich hänge mich mal in diese Diskussion rein, vlt kann mir jemand hier helfen ?

      Fritzbox 7490, Tr-64 ist aktiviert, Wählhilfe ist eingerichtet. Ich nutze eine Homematic CCU-2 und habe da parallel zur Klingel den Funk-Klingelsensor "HM-Sen-DB–PCB" im Einsatz. Der soll mit beim Klingeln ein Bild einer Aussenkamera auf einen Messenger schicken, funktioniert soweit alles.

      Da ich im Garten (Gartenhaus) die Klingel nicht höre aber dort meistens sowieso ein Dect Telefon bei mir habe wollte ich jetzt gerne das Telefon über Fritzbox klingeln lassen.

      Im IOBroker ist der TR-64 Adapter eingerichtet, wenn ich bei "Objekte" dort etwas im State "ring" eintrage (**610,15) klingelt das Telefon.

      Ich habe folgendes Skript in IOBroker (eigentlich habe ich es mit Blockly zusammengeklickt, aber ich poste hier wg besserer Lesbarkeit das Skript):

      on({id: 'hm-rpc.0.MEQ0657107.1.PRESS_SHORT', change: "any"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
      });
      setState("tr-064.0.states.ring"/*ring*/, '**610,10');
      console.log('Klingel');
      
      

      Wenn ich im Skript z.B. den Wert 10 ändere und es speichere klingelt das Telefon (wohl weil das Skript dann einmal durchlaufen wird?)

      Wenn es an der Haustür klingelt, passiert aber nichts. Ich nehme stark an, dass es am on-statement im Skript liegt, weiss aber nicht wirklich was hier falsch ist. Statt change:"any" hatte ich auch schon Prüfung auf "update" und auf Logikwert "true" (was meiner Meinung nach richtig sein müsste), jeweils ohne Erfolg.

      Hat hier noch jemand eine Idee wo mein (Denk-) Fehler liegt ?

      1 Reply Last reply Reply Quote 0
      • Peoples
        Peoples last edited by

        @amg_666:

        Hat hier noch jemand eine Idee wo mein (Denk-) Fehler liegt ? `

        Also ich denke das ist ok wie du das machst trotzdem hier der Auszug wie ich das mache:

        on({id: "hm-rpc.0.xxxxxxxxx.1.PRESS_SHORT", val: true, ack: true}, function() {
             setState("tr-064.0.states.ring"/*ring*/, '**613 ,25');
                setStateDelayed("tr-064.0.states.ring"/*ring*/,'', 30000);
        
        });
        

        Hast du auch daran gedacht in deiner CCU ein Program anzulegen welches das Drücken des SHORT-Tastendrucks auswertet?

        Sonst wird nämlich nichts an iobroker weitergegeben.

        Hier der Screenshot von mir:
        2417_dummytaster.jpg
        Du musst nur das wenn wie im Screenshot auswählen, bei Aktivität brauchst du nichts auswählen und dann speichern

        1 Reply Last reply Reply Quote 0
        • amg_666
          amg_666 last edited by

          Hallo Steffen,

          HM Programm habe ich (ich will ja auch ein bild an einen messenger senden).

          Allerdings hast du in deinem Beispiel 2 Kanäle an deinem Taster. Ich habe den HM-Sen-DB-PCB eingerichtet, der hat nur einen Kanal und ich prüfe auch nur Tastendruck_Kurz (weil der HM-Sen-DB-PCB ein einfacher Taster ist). Das HM-Script bei mir läuft auch ordentlich durch, ich bekomme ja Bilder gesendet..

          1 Reply Last reply Reply Quote 0
          • M
            mikiline last edited by

            @amg_666:

            on({id: 'hm-rpc.0.MEQ0657107.1.PRESS_SHORT', change: "any"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
            });
            setState("tr-064.0.states.ring"/*ring*/, '**610,10');
            console.log('Klingel');
            
            ```` `  
            

            Nimm mal alles in die Bedingung mit rein

            on({id: 'hm-rpc.0.MEQ0657107.1.PRESS_SHORT', change: "any"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              setState("tr-064.0.states.ring"/*ring*/, '**610,10');
              console.log('Klingel');
            });
            
            
            1 Reply Last reply Reply Quote 0
            • Peoples
              Peoples last edited by

              Und wenn du````
              setState("tr-064.0.states.ring"/ring/, '**610,10');

              1 Reply Last reply Reply Quote 0
              • amg_666
                amg_666 last edited by

                > > Nimm mal alles in die Bedingung mit rein
                Hab ich gemacht, hat nichts gebracht.

                Ein "Mini-Skript" nur mit````
                setState("tr-064.0.states.ring"/ring/, '**610,10');

                
                Damit liegt nahe, dass es an meinem Skript liegen muss, ich seh nur meinen (Denk-) Fehler nicht:
                
                

                on({id: 'hm-rpc.0.MEQ0657107.1.PRESS_SHORT', change: "any"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                });
                setState("tr-064.0.states.ring"/ring/, '**610,10');
                console.log('Klingel');

                1 Reply Last reply Reply Quote 0
                • M
                  martin last edited by

                  Und was kann man damit umsetzen wenn ioBroker die Telefone klingeln lassen kann?

                  1 Reply Last reply Reply Quote 0
                  • amg_666
                    amg_666 last edited by

                    > Und was kann man damit umsetzen wenn ioBroker die Telefone klingeln lassen kann?
                    Das stand in meiner ursprünglichen Frage: Man kann das Telefon z.B. als Ersatz/Ergänzung für eine Türklingel nutzen

                    1 Reply Last reply Reply Quote 0
                    • Peoples
                      Peoples last edited by

                      @amg_666:

                      on({id: 'hm-rpc.0.MEQ0657107.1.PRESS_SHORT', change: "any"}, function (obj) {
                        log('Tastendruck erkannt');
                      });
                      
                      ```` `  
                      

                      Wenn du das nimmst und deinen Taster drückst müsste Tastendruck erkannt im Log kommen. Kommt das nicht, wird dein Tastendruck nicht erkannt.

                      Wenn es geht probier mal:

                      on({id: 'hm-rpc.0.MEQ0657107.1.PRESS_SHORT', change: "any"}, function (obj) {
                      setState("tr-064.0.states.ring"/*ring*/, '**610,10');
                      console.log('Klingel');
                      

                      });

                      Und sag was passier oder eben was nicht passiert

                      1 Reply Last reply Reply Quote 0
                      • amg_666
                        amg_666 last edited by

                        ` > on({id: 'hm-rpc.0.MEQ0657107.1.PRESS_SHORT', change: "any"}, function (obj) {

                        log('Tastendruck erkannt');

                        }); `
                        Das funktioniert:

                        Log
                        10:47:29.557	[info]	javascript.0 script.js.common.Skript1: Tastendruck erkannt
                        

                        ` > on({id: 'hm-rpc.0.MEQ0657107.1.PRESS_SHORT', change: "any"}, function (obj) {

                        setState("tr-064.0.states.ring"/ring/, '**610,10');

                        console.log('Klingel');

                        }); `
                        Da passiert nichts (kein Log)

                        1 Reply Last reply Reply Quote 0
                        • amg_666
                          amg_666 last edited by

                          Jetzt funzt es

                          Hallo Steffen,

                          danke für die Unterstützung deinerseits, ich habe keine Ahnung warum aber ich habe mit den Skripten von dir getestet (eins ging, eins nicht) und als es eben geklingelt hat ging auch das Telefon an…

                          Fazit: Ich fass da jetzt nix mehr an (never change a running system)...

                          1 Reply Last reply Reply Quote 0
                          • Peoples
                            Peoples last edited by

                            Alles klar, dann passts ja

                            1 Reply Last reply Reply Quote 0
                            • B
                              bishop last edited by

                              Hallo,

                              Ich habe ein gira gateway verbaut bei mir. Wenn jemand klingelt, klingelt auch mein fritzfon.

                              Ist es möglich, dass wenn jemand klingelt ein blockly abläuft das dann z.b. mit sayit eine ausgabe auf meine sonos kommt?

                              4663_screenshot_20180215-170819.png

                              Das ist die klingel *124#

                              Danke

                              1 Reply Last reply Reply Quote 0
                              • Peoples
                                Peoples last edited by

                                Hi,

                                eigentlich sollte das gehen, wenn du den Datenpunkt "tr-064.0.states.ring" beobachtest/auswertest und wenn dort die Nummer *124# auftaucht deine Wunschaktion ausführst.

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bishop last edited by

                                  Ok,

                                  Kannst du mir ein beispiel machen wie ich den datenpunkt beobachten kann mit blockly?

                                  edit:

                                  ! ````
                                  // -------------------------------------------------------------------------
                                  // Dieses Script überwaht den Zustand eines Bewegungsmelders und speichert bei
                                  // Aktivierung ein Bild einer Überwachnungskamera in einem Vereichnis und sendet
                                  // dieses via Telegram.0-Adapter. Nach 10 Sek wird ein weiteres Bild erstellt und
                                  // gesendet.
                                  // Die Speicherung der Bilder erfolgt als "Stack", d.h. das aktuellste Bild bekommt
                                  // immer den Suffix "0" und es werden n Bilder mit den Suffixen 1..n-1 vorgehalten
                                  // Uhula 2017.11
                                  // -------------------------------------------------------------------------
                                  ! // -------------------------------------------------------------------------
                                  // Konfiguration
                                  // -------------------------------------------------------------------------
                                  // Objekt-ID des Bewegungsmelders
                                  const oidLichtBewmelderTuer = "javascript.0.test_schalter";
                                  // URL zur Kamera umn ein Image (jpg) zu erhalten
                                  const cam_url = "http://192.168.1.30:7130/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxx&pwd=xxx";
                                  // Pfadangabe für die Speicherung der Bilder, der Pfad muss existieren
                                  const dest_path = '/opt/iobroker/iobroker-data/files/temp/';
                                  // Anzahl der Bilder, die vorgehalten werden sollen
                                  const imageCountMax = 8;
                                  // Prefix für die Bildnamen
                                  const imageNamePre = "eingangstuer
                                  ";
                                  ! // -------------------------------------------------------------------------
                                  // Scriptteil
                                  // -------------------------------------------------------------------------
                                  var request = require('request');
                                  var fs = require('fs');
                                  ! // Bild an telegram schicken
                                  function sendImage (path) {
                                  try {
                                  var stats = fs.statSync(path);
                                  var msg = formatDate(stats.birthtime,"DD.MM.YYYY hh:mm:ss") + " " + path.substring(path.lastIndexOf('/')+1);
                                  sendTo('telegram.0', {
                                  text: path,
                                  caption: msg,
                                  disable_notification: true
                                  });
                                  }
                                  catch(err) { if (err.code != "ENOENT") log(err); }
                                  }
                                  ! // löscht eine Datei synchron (wartet auf das Ergebnis)
                                  function fsUnlinkSync(path) {
                                  try {
                                  var stats = fs.statSync(path);
                                  try { fs.unlinkSync(path); }
                                  catch(err) { if (err.code != "ENOENT") log(err); }
                                  }
                                  catch(err) { if (err.code != "ENOENT") log(err); }
                                  }
                                  ! // benennt eine Datei synchron um (wartet auf das Ergebnis)
                                  function fsRenameSync(oldPath, newPath) {
                                  try {
                                  var stats = fs.statSync(oldPath);
                                  try { fs.renameSync(oldPath, newPath); }
                                  catch(err) { if (err.code != "ENOENT") log(err); }
                                  }
                                  catch(err) { if (err.code != "ENOENT") log(err); }
                                  }
                                  ! // Bild speichern und senden
                                  function saveImage() {
                                  // Bild imageCountMax-1 löschen
                                  fsUnlinkSync( dest_path + imageNamePre + (imageCountMax-1) + ".jpg" );
                                  // Bilder 0..imageCountMax-2 umbenennen
                                  for (var i=imageCountMax-2; i >= 0; i-- ) {
                                  fsRenameSync(dest_path + imageNamePre + i + ".jpg", dest_path + imageNamePre + (i+1) + ".jpg");
                                  }
                                  // Bild 0 löschen
                                  var fname = imageNamePre + "0.jpg";
                                  fsUnlinkSync( fname );
                                  // Bild holen und speichern
                                  request.get({url: cam_url, encoding: 'binary'}, function (err, response, body) {
                                  fs.writeFile(dest_path + fname, body, 'binary', function(err) {
                                  if (err) {
                                  log('Fehler beim Bild speichern: ' + err, 'warn');
                                  } else {
                                  // dem Filesystem 2 Sek Zeit zum Speichern lassen
                                  setTimeout(function() { sendImage(dest_path + fname); }, 2000);
                                  }
                                  });
                                  });
                                  }
                                  ! // sofort ein Bild senden und nach 10 Sek erneut
                                  function onEvent() {
                                  saveImage();
                                  setTimeout(function() { saveImage(); }, 10 * 1000);
                                  }
                                  ! // Ereignisroutine
                                  on({id: oidLichtBewmelderTuer, val: true}, function (obj) {
                                  onEvent( obj );
                                  });
                                  ! // manuelle Ausführung (Test)
                                  onEvent();

                                  Danke an Uhula, konnte das soweit abändern damit ich mal ein bild wenn ich den testschalter auf true setze bekomme.
                                  
                                  Wie kann ich das ändern damit er auf das Fritzfon reagiert?
                                  
                                  Bei mir funktioniert das Script immer nur einmal danach muss ich das script stoppen und wieder starten damit ich Bilder bekomme. In der log wird aber nichts angezeigt, wo kann ich schauen ob ein script fehler ausgibt?
                                  1 Reply Last reply Reply Quote 0
                                  • cvidal
                                    cvidal Forum Testing last edited by

                                    Ich habe leider etwas Probleme mit der Klingelzeit auf dem Fritzfon. Ich schreibe **610, 25 in das Objekt "ring" aber es Klingelt nie länger als 16 Sekunden hat das eventuell noch jemand oder eine Idee woran das liegen könnte?

                                    Zudem lasse ich mir auch das Bild meiner Hikvision Kamera auf das Fritzfon senden wenn geklingelt wird, allerdings ist das Bild meiner Kamera wohl zu Breit um es vernünftig aufs Telefon zu bekommen, ich sehe dann nicht wer vor der Tür steht. Wie habt Ihr das gelöst?

                                    Jeweils äußerer Bereich ab roter Markierung wird nicht angezeigt.
                                    2113_unbenannt.png

                                    Gruß Christian

                                    1 Reply Last reply Reply Quote 0
                                    • amg_666
                                      amg_666 last edited by

                                      Hallo,

                                      das mit den 16 Sekunden kann ich nicht nachvollziehen.

                                      Bei mir klingelt

                                      setState("tr-064.0.states.ring"/*ring*/, '**610,25');
                                      

                                      25 Sekunden lang (Fritzbox 7490, allerdings ein Gigaset Telefon).

                                      Zum Problem mit dem Bild: Das Format scheint das FritzFon nicht zu können und "mittelt" deshalb. AVM empfiehlt "Für eine optimale Darstellung des Live-Bildes richten Sie in der IP-Kamera für die Bilder eine Auflösung von mindestens 240x320 bis ca. 480x640 Pixel ein."

                                      Deine Kamera kenne ich nicht, ich habe Foscams im Einsatz, da kann man Bildgröße / Auflösung einstellen. Das ist aber wahrscheinlich nur ne Notlösung weil du dann ja generell ein kleineres Bild hättest.

                                      Ähm, jetzt mal was anderes: Ist das ein (öffentlicher) Gehweg, den man da auf dem Bild links sieht? Dir ist schon klar, dass du den nicht mit einer privaten IPCam überwachen darfst, oder? Falls dem so ist solltest du die Kamera etwas weiter nach rechts drehen, damit nur das Grundstück vor der Tür gefilmt wird.

                                      1 Reply Last reply Reply Quote 0
                                      • cvidal
                                        cvidal Forum Testing last edited by

                                        @amg_666:

                                        Hallo,

                                        das mit den 16 Sekunden kann ich nicht nachvollziehen.

                                        Bei mir klingelt

                                        setState("tr-064.0.states.ring"/*ring*/, '**610,25');
                                        

                                        25 Sekunden lang (Fritzbox 7490, allerdings ein Gigaset Telefon). `

                                        Mh komisch, vielleicht hat ja noch jemand das Problem mit einem Fritzfon.

                                        @amg_666:

                                        Zum Problem mit dem Bild: Das Format scheint das FritzFon nicht zu können und "mittelt" deshalb. AVM empfiehlt "Für eine optimale Darstellung des Live-Bildes richten Sie in der IP-Kamera für die Bilder eine Auflösung von mindestens 240x320 bis ca. 480x640 Pixel ein."

                                        Deine Kamera kenne ich nicht, ich habe Foscams im Einsatz, da kann man Bildgröße / Auflösung einstellen. Das ist aber wahrscheinlich nur ne Notlösung weil du dann ja generell ein kleineres Bild hättest. `

                                        Ich habe jetzt mal die Auflösung von 1920x1080 zu 2048x1536 gewechselt jetzt ist es etwas besser aber immer noch nicht wirklich gut… Bekomme es mit der kamera auch gar nicht anders eingestellt.

                                        @amg_666:

                                        Ähm, jetzt mal was anderes: Ist das ein (öffentlicher) Gehweg, den man da auf dem Bild links sieht? Dir ist schon klar, dass du den nicht mit einer privaten IPCam überwachen darfst, oder? Falls dem so ist solltest du die Kamera etwas weiter nach rechts drehen, damit nur das Grundstück vor der Tür gefilmt wird. `

                                        Ja ist eine Öffentliche Straße, wenn ich die Kamera weiter nach rechts drehe Blendet mein Klinker das IR-Licht. Ich habe aber in den Kameraeinstellungen die Möglichkeit die Straße zu Schwärzen, ich habe natürlich für mein Beispielbild die Schwärzung rausgenommen 😉 .

                                        Gruß Christian

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          bishop last edited by

                                          Könnt ihr mal eure blocklys oder scripte posten bitte?

                                          1 Reply Last reply Reply Quote 0
                                          • cvidal
                                            cvidal Forum Testing last edited by

                                            @bishop:

                                            Könnt ihr mal eure blocklys oder scripte posten bitte? `

                                            2113_unbenannt.png

                                            Und der Export

                                            on({id: 'hm-rpc.0.NEQ0955405.1.PRESS_SHORT', change: "any"}, function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              setState("tr-064.0.states.ring"/*ring*/, '**610, 25');
                                            });
                                            

                                            Gruß Christian

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            862
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            39
                                            128
                                            31528
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo