NEWS
Rolladensteuerung über Telegram
-
@kmxak
interessant, erklär mal bitte bisschen wie das in Telegram geht.
Wobei ich das immer noch umständlich finde, weil ich ne Fritz habe und da einfach in den "Heimmodus" wechsle, wenn ich von unterwegs was steuern möchte und dann direkt auf dem zu steuernden Gerät lande, also nicht mal über den Umweg des IOBroker. Das ist dann auch nur Buttons drücken, allerdings sind die schon alle da und ich muss nichts extra anlegen, aber ich in teressier mich immer für andere Lösungen, da man damit bestimmt auch wieder andere Dinge machen kann:+1:@Jan1
ich möchte halt nicht erst eine VPN Verbindung aufbauen und dann entsprechend den Rolladen steuern.
Fritzbox ist bei mir nur noch ein Router. Ansinsten habe ich ein komplettes Unifi System laufen.
Und winer Portweiterleitung kommt schon garnicht in Frage.pdulles
-
Also zum Telegram Menü schau dir das mal an: https://www.youtube.com/watch?v=oPOxA8sTCxU
Meine Umsetzung basiert auf dem Grundgerüst.
Das RolladenMenü musst halt selber bauen. Weiß ja nicht was du benutzt. Ist auch bei jedem sehr verschieden. Ich bastel da auch noch immer dran. -
Also zum Telegram Menü schau dir das mal an: https://www.youtube.com/watch?v=oPOxA8sTCxU
Meine Umsetzung basiert auf dem Grundgerüst.
Das RolladenMenü musst halt selber bauen. Weiß ja nicht was du benutzt. Ist auch bei jedem sehr verschieden. Ich bastel da auch noch immer dran. -
Oder als normales JS
Anbei mal ein Beispiel:// Telegram: Antworten auf Handy Eingaben function weiter() { //Variablen var vEingabe = getState("telegram.0.communicate.request").val; // Eingabe per telegram auf dem Handy var vText = ""; var vUser = vEingabe.substring(1, vEingabe.indexOf("]")); vEingabe = vEingabe.substring(vEingabe.indexOf("]") + 1, vEingabe.length); log (vUser); log (vEingabe); if (vEingabe == "/?") { vText = "Auswahlliste:" + "\n--------------------------------------------------------" + "\n"; vText = vText + "/Aussenbereich\n" + "/Blitzer\n" + "/Dachfenster\n" + "/Dieter_Standort\n" + "/DWD\n" + "/Garage\n" + "/Heizung\n" + "/Licht\n"; vText = vText + "/Systemvariablen\n" + "/Tanks\n" + "/Video\n" + "/Zusammenfassung"; sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' }); } if (vEingabe == "/Aussenbereich") { vText = "Außenbereich:" + "\n--------------------------------------------------------" + "\n"; vText = vText + "Temp Sensor Garage: " + getState("hm-rpc.0.KEQ0766778.1.TEMPERATURE").val + "°C\n"; vText = vText + "Temp Kombisensor: " + getState("hm-rpc.0.LEQ1221393.1.TEMPERATURE").val + "°C\n"; vText = vText + "Windgeschwindigkeit: " + parseInt(getState("hm-rpc.0.LEQ1221393.1.WIND_SPEED").val*10)/10 + " km/h\n"; vText = vText + "Photovoltaik:\n"; vText = vText + " - Strang 1: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang1").val) + " W\n"; vText = vText + " - Strang 2: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang2").val) + " W\n"; vText = vText + " - Gesamt: " + getState("javascript.0.Status.Photovoltaik.Tagesleistung").val + " kW\n"; vText = vText + "Terrasse Lampe: " + getState("hm-rpc.0.KEQ0926502.2.STATE").val + "\n"; vText = vText.replace(/false/g, 'aus'); vText = vText.replace(/true/g, 'an'); vText = vText + "Terrasse Bewegung: " + getState("hm-rpc.0.LEQ0492702.1.MOTION").val + "\n"; vText = vText.replace(/false/g, 'nein'); vText = vText.replace(/true/g, 'ja'); vText = vText + "Brunnen: " + getState("javascript.0.Status.Sonstige.Brunnen").val + "\n"; vText = vText + "Wassertränke: " + getState("javascript.0.Status.Sonstige.Wassertraenke").val + "\n"; vText = vText + "Lichtsensor-Ost: " + parseInt(getState("hm-rpc.0.OEQ2281298.1.LUX").val) + " Lux\n"; vText = vText + "Lichtsensor-Süd: " + parseInt(getState("hm-rpc.0.NEQ0322032.1.LUX").val) + " Lux\n"; vText = vText + "Barometer Tränke: " + getState("hm-rega.0.36100").val.toFixed(1) + " hPa" + "\n"; vText = vText + "Barometer Wiffi2: " + getState("hm-rega.0.40977").val.toFixed(1) + " hPa" + "\n"; //vText = vText + "Barometer Zisterne: " + getState("hm-rega.0.33892").val.toFixed(1) + " hPa" + "\n"; vText = vText.replace(/false/g, 'aus'); vText = vText.replace(/true/g, 'an'); sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' }); } if (vEingabe == "/Blitzer") { //.. } if (vEingabe == "/Dieter_Standort") { var ort = getState('javascript.0.Status.Maps.Text_von_Tasker').val; var v_Breitengrad = getState('javascript.0.Status.Maps.Breitengrad1').val; var v_Laengengrad = getState('javascript.0.Status.Maps.Längengrad1').val; sendTo('telegram', {longitude: v_Laengengrad, latitude: v_Breitengrad}); sendTo('telegram', "Dieter Standort: " + ort ); } on({id: "telegram.0.communicate.request"}, function() { // Nachricht von telegram log("Auslöser Telegram"); weiter(); }); -
Das Script reagiert auf die Veränderung der Var.: telegram.0.communicate.request
(siehe on ganz unten)Und wenn du nun im Handy (telegram) /? sendest dann bekommst du zurück das Menü.
Zeile 14 ff.Und dann kannst du im Handy einfach anklicken:
bei mir:
Aussenbereich, Blitzer, Dachfenster, etc..
(das kannst du ändern wie du möchtest.Und dann im Script dann einfach auf die Veränderungen reagieren.
Also, z.B.
die fügst in Zeile 16 anstatt: /Aussbereich ein /Rollo_WZ_runterDann ändere in 22 das ab auf /Rollo_WZ_runter
und dann script schreiben (also setState) dass dein Rollo runter fährt.mfg
-
Bei mir siehts so aus:

Eingabe im Handy: /?
Dann kommt Menü.
Klick auf /Zusammenfassung
Ergebnis wird dargestellt. -
warum
text2command ????richtig ist doch -telegram.0:

-
@Jan1
ich möchte halt nicht erst eine VPN Verbindung aufbauen und dann entsprechend den Rolladen steuern.
Fritzbox ist bei mir nur noch ein Router. Ansinsten habe ich ein komplettes Unifi System laufen.
Und winer Portweiterleitung kommt schon garnicht in Frage.pdulles
@dulles sagte in Rolladensteuerung über Telegram:
@Jan1
ich möchte halt nicht erst eine VPN Verbindung aufbauen und dann entsprechend den Rolladen steuern.
Fritzbox ist bei mir nur noch ein Router. Ansinsten habe ich ein komplettes Unifi System laufen.
Und winer Portweiterleitung kommt schon garnicht in Frage.pdulles
Jeder wie er es will. Ich schau mir das mal mit Telegram an, allerdings nicht zum Steuern, sondern zum Basteln was man da so alles mit anstellen kann.
Mit der Fritz APP sind das genau 5 Klicks inklusive Aufruf der APP. Der sechste Klick steuert schon und die VPN Verbindung wird automatisch geöffnet, also einfacher gehts fast nicht. -
Nachtrag:
Bei dir steht doch:
[Mirko]/?
müsst doch so richtig sein.Und durch das Script:
var vUser = vEingabe.substring(1, vEingabe.indexOf("]")); vEingabe = vEingabe.substring(vEingabe.indexOf("]") + 1, vEingabe.length); log (vUser); log (vEingabe);müsste doch im log erscheinen:
Bei vUser => mirko
Bei vEingabe => /? -
@dulles sagte in Rolladensteuerung über Telegram:
@Jan1
ich möchte halt nicht erst eine VPN Verbindung aufbauen und dann entsprechend den Rolladen steuern.
Fritzbox ist bei mir nur noch ein Router. Ansinsten habe ich ein komplettes Unifi System laufen.
Und winer Portweiterleitung kommt schon garnicht in Frage.pdulles
Jeder wie er es will. Ich schau mir das mal mit Telegram an, allerdings nicht zum Steuern, sondern zum Basteln was man da so alles mit anstellen kann.
Mit der Fritz APP sind das genau 5 Klicks inklusive Aufruf der APP. Der sechste Klick steuert schon und die VPN Verbindung wird automatisch geöffnet, also einfacher gehts fast nicht.@Jan1 sagte in Rolladensteuerung über Telegram:
also einfacher gehts fast nicht.
mit Telegram:
Eingabe: /?
und dann klickAlso insgesamt 3 Klicks.
-
Der Trigger scheint bei mir nicht zu funktionieren.
Fehlt eventuell am Ende des Scriptes noch etwas bzw. welche Version Javascript nutzt du?
Wenn ich das Script einfüge meckert er auch einen Compile fehler an:
code_textHabe dann am am Ende das angefügt:
}Weiß aber nicht ob das so richtig ist und denke da fehlt irgendetwas da bei mir nicht getriggert wird.
-
Der Trigger scheint bei mir nicht zu funktionieren.
Fehlt eventuell am Ende des Scriptes noch etwas bzw. welche Version Javascript nutzt du?
Wenn ich das Script einfüge meckert er auch einen Compile fehler an:
code_textHabe dann am am Ende das angefügt:
}Weiß aber nicht ob das so richtig ist und denke da fehlt irgendetwas da bei mir nicht getriggert wird.
@wendy2702
füge doch mal dein komplettes Script ein.Was steht denn in Zeile 1.
-
Ist eigentlich genau das was du gepostet hast nur um die eine geschweifte Klammer am Ende ergänzt:
// Telegram: Antworten auf Handy Eingaben function weiter() { //Variablen var vEingabe = getState("telegram.0.communicate.request").val; // Eingabe per telegram auf dem Handy var vText = ""; var vUser = vEingabe.substring(1, vEingabe.indexOf("]")); vEingabe = vEingabe.substring(vEingabe.indexOf("]") + 1, vEingabe.length); log (vUser); log (vEingabe); if (vEingabe == "/?") { vText = "Auswahlliste:" + "\n--------------------------------------------------------" + "\n"; vText = vText + "/Aussenbereich\n" + "/Blitzer\n" + "/Dachfenster\n" + "/Dieter_Standort\n" + "/DWD\n" + "/Garage\n" + "/Heizung\n" + "/Licht\n"; vText = vText + "/Systemvariablen\n" + "/Tanks\n" + "/Video\n" + "/Zusammenfassung"; sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' }); } if (vEingabe == "/Aussenbereich") { vText = "Außenbereich:" + "\n--------------------------------------------------------" + "\n"; vText = vText + "Temp Sensor Garage: " + getState("hm-rpc.0.KEQ0766778.1.TEMPERATURE").val + "°C\n"; vText = vText + "Temp Kombisensor: " + getState("hm-rpc.0.LEQ1221393.1.TEMPERATURE").val + "°C\n"; vText = vText + "Windgeschwindigkeit: " + parseInt(getState("hm-rpc.0.LEQ1221393.1.WIND_SPEED").val*10)/10 + " km/h\n"; vText = vText + "Photovoltaik:\n"; vText = vText + " - Strang 1: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang1").val) + " W\n"; vText = vText + " - Strang 2: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang2").val) + " W\n"; vText = vText + " - Gesamt: " + getState("javascript.0.Status.Photovoltaik.Tagesleistung").val + " kW\n"; vText = vText + "Terrasse Lampe: " + getState("hm-rpc.0.KEQ0926502.2.STATE").val + "\n"; vText = vText.replace(/false/g, 'aus'); vText = vText.replace(/true/g, 'an'); vText = vText + "Terrasse Bewegung: " + getState("hm-rpc.0.LEQ0492702.1.MOTION").val + "\n"; vText = vText.replace(/false/g, 'nein'); vText = vText.replace(/true/g, 'ja'); vText = vText + "Brunnen: " + getState("javascript.0.Status.Sonstige.Brunnen").val + "\n"; vText = vText + "Wassertränke: " + getState("javascript.0.Status.Sonstige.Wassertraenke").val + "\n"; vText = vText + "Lichtsensor-Ost: " + parseInt(getState("hm-rpc.0.OEQ2281298.1.LUX").val) + " Lux\n"; vText = vText + "Lichtsensor-Süd: " + parseInt(getState("hm-rpc.0.NEQ0322032.1.LUX").val) + " Lux\n"; vText = vText + "Barometer Tränke: " + getState("hm-rega.0.36100").val.toFixed(1) + " hPa" + "\n"; vText = vText + "Barometer Wiffi2: " + getState("hm-rega.0.40977").val.toFixed(1) + " hPa" + "\n"; //vText = vText + "Barometer Zisterne: " + getState("hm-rega.0.33892").val.toFixed(1) + " hPa" + "\n"; vText = vText.replace(/false/g, 'aus'); vText = vText.replace(/true/g, 'an'); sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' }); } if (vEingabe == "/Blitzer") { //.. } if (vEingabe == "/Dieter_Standort") { var ort = getState('javascript.0.Status.Maps.Text_von_Tasker').val; var v_Breitengrad = getState('javascript.0.Status.Maps.Breitengrad1').val; var v_Laengengrad = getState('javascript.0.Status.Maps.Längengrad1').val; sendTo('telegram', {longitude: v_Laengengrad, latitude: v_Breitengrad}); sendTo('telegram', "Dieter Standort: " + ort ); } on({id: "telegram.0.communicate.request"}, function() { // Nachricht von telegram log("Auslöser Telegram"); weiter(); }); }Muss denn hier im Telegramm Adapter noch etwas umgestellt werden?

-
Ist eigentlich genau das was du gepostet hast nur um die eine geschweifte Klammer am Ende ergänzt:
// Telegram: Antworten auf Handy Eingaben function weiter() { //Variablen var vEingabe = getState("telegram.0.communicate.request").val; // Eingabe per telegram auf dem Handy var vText = ""; var vUser = vEingabe.substring(1, vEingabe.indexOf("]")); vEingabe = vEingabe.substring(vEingabe.indexOf("]") + 1, vEingabe.length); log (vUser); log (vEingabe); if (vEingabe == "/?") { vText = "Auswahlliste:" + "\n--------------------------------------------------------" + "\n"; vText = vText + "/Aussenbereich\n" + "/Blitzer\n" + "/Dachfenster\n" + "/Dieter_Standort\n" + "/DWD\n" + "/Garage\n" + "/Heizung\n" + "/Licht\n"; vText = vText + "/Systemvariablen\n" + "/Tanks\n" + "/Video\n" + "/Zusammenfassung"; sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' }); } if (vEingabe == "/Aussenbereich") { vText = "Außenbereich:" + "\n--------------------------------------------------------" + "\n"; vText = vText + "Temp Sensor Garage: " + getState("hm-rpc.0.KEQ0766778.1.TEMPERATURE").val + "°C\n"; vText = vText + "Temp Kombisensor: " + getState("hm-rpc.0.LEQ1221393.1.TEMPERATURE").val + "°C\n"; vText = vText + "Windgeschwindigkeit: " + parseInt(getState("hm-rpc.0.LEQ1221393.1.WIND_SPEED").val*10)/10 + " km/h\n"; vText = vText + "Photovoltaik:\n"; vText = vText + " - Strang 1: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang1").val) + " W\n"; vText = vText + " - Strang 2: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang2").val) + " W\n"; vText = vText + " - Gesamt: " + getState("javascript.0.Status.Photovoltaik.Tagesleistung").val + " kW\n"; vText = vText + "Terrasse Lampe: " + getState("hm-rpc.0.KEQ0926502.2.STATE").val + "\n"; vText = vText.replace(/false/g, 'aus'); vText = vText.replace(/true/g, 'an'); vText = vText + "Terrasse Bewegung: " + getState("hm-rpc.0.LEQ0492702.1.MOTION").val + "\n"; vText = vText.replace(/false/g, 'nein'); vText = vText.replace(/true/g, 'ja'); vText = vText + "Brunnen: " + getState("javascript.0.Status.Sonstige.Brunnen").val + "\n"; vText = vText + "Wassertränke: " + getState("javascript.0.Status.Sonstige.Wassertraenke").val + "\n"; vText = vText + "Lichtsensor-Ost: " + parseInt(getState("hm-rpc.0.OEQ2281298.1.LUX").val) + " Lux\n"; vText = vText + "Lichtsensor-Süd: " + parseInt(getState("hm-rpc.0.NEQ0322032.1.LUX").val) + " Lux\n"; vText = vText + "Barometer Tränke: " + getState("hm-rega.0.36100").val.toFixed(1) + " hPa" + "\n"; vText = vText + "Barometer Wiffi2: " + getState("hm-rega.0.40977").val.toFixed(1) + " hPa" + "\n"; //vText = vText + "Barometer Zisterne: " + getState("hm-rega.0.33892").val.toFixed(1) + " hPa" + "\n"; vText = vText.replace(/false/g, 'aus'); vText = vText.replace(/true/g, 'an'); sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' }); } if (vEingabe == "/Blitzer") { //.. } if (vEingabe == "/Dieter_Standort") { var ort = getState('javascript.0.Status.Maps.Text_von_Tasker').val; var v_Breitengrad = getState('javascript.0.Status.Maps.Breitengrad1').val; var v_Laengengrad = getState('javascript.0.Status.Maps.Längengrad1').val; sendTo('telegram', {longitude: v_Laengengrad, latitude: v_Breitengrad}); sendTo('telegram', "Dieter Standort: " + ort ); } on({id: "telegram.0.communicate.request"}, function() { // Nachricht von telegram log("Auslöser Telegram"); weiter(); }); }Muss denn hier im Telegramm Adapter noch etwas umgestellt werden?

@wendy2702 sagte in Rolladensteuerung über Telegram:
CODE...
Deine eingefügte } Klammer ist zu tief.. Die gehört in Zeile 62!
Also Zeile 70 nach 62 verschieben.



