NEWS
Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML
-
@lolax
einfach den steuere Baustein kopieren und auf den ECHO_drei einstellen -
@lucky_esa sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:
Ich habe mal ein erstes Blockly "umgebaut" (Batterien_Prozent)
Bei allen Blocklys bitte am Ende den <body> Tag wieder schliessen
erledigt
In der Telegram Function telegram ändern in telegram.0 Habe leider telegram.0 und telegram.1, daher bekomme ich immer die Fehlermeldung "1 of 1 recipients are unknown!" . Eventuell die Instanz für den jeweiligen User auswählbar machen...
In den Einstellungen vom Blockly kann jetzt bei Telegram und Email die Instanznummer angegeben werden.
Wenn du viel Zeit hast den Satz " ; das wäre dann alles." zu den Einstellungen hinzufügen. Möchte gerne einen anderen Text haben und bei einer neuen Revision muss ich immer alles ändern.
erledigt
Wenn du mal so richtig viel Zeit hast, besteht dann die Möglichkeit, dass du die immer wiederholenden HTML Tags in eine Variable setzt und die dann verwendest...Dann kannst du alle Blocklys mit Sicherheit um 1000 Zeilen verkleinern:-)
habe ich auch gemacht. Das Blockly ist 1035 Bausteine kleiner geworden.
alt
neu
Vielleicht magst Du es Dir ja mal ansehen.
-
Hallo dslraser,
du bist schneller als ich bis 3 zählen kann:-) Das sieht echt super aus, dass RSSI Blocky habe ich auch so angepasst und weit über 1000 Blöcke eingespart.
Der form halber bitte noch den html tag schließen.
Variable html_end</div></body>
ändern in
</div></body></html>
Es wurde alles richtig angelegt und jetzt müssen wir alle testen aber da brauch ich noch ein wenig Zeit.
Offtopic
Leider ist meine Software vom Raspberry abgeschmiert und jetzt kann ich alles wieder neu aufsetzen. Mit erschrecken habe ich festgestellt, dass ich kein Backup meiner Scripte habe. Somit ist die Entwicklung der letzten 2 Jahre weg...Kann gerade mein Dachfenster nicht mehr rauf und runter fahren...heulGruß//Lucky
-
@lucky_esa sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:
Somit ist die Entwicklung der letzten 2 Jahre weg
Ärgerlich...
(lernen durch Schmerzen, hat mein alter Chef immer gesagt) -
@dslraser
Schade, dass ist das einzige Blockly, das ich nicht nutze .
Sobald ein anders Blockly fertig ist, werde ich es testen. -
@dirk1962
Ja, das war in meiner Liste ganz oben...Ich habe jetzt mal mit dem Fenster Blockly begonnen, das ist das Größte, dauert aber etwas... -
Ist nicht schlimm da ich meine Bash Scripte mit IOBroker ersetzen wollte.
Eine Sache versuche ich noch immer zu simulieren finde aber den Fehler nicht.
Wenn ich die Java Instanz neu starte versuchen alle Scripte eine Mail und Telgram Nachricht mit leeren Body zu versenden. Ist nir aufgefallen da ich mal in meinem Spam Ordner geschaut haben.
Subject ist gefüllt aber kein Body vorhanden. Bei Telegram sind dann Fehler im Log zu sehen.Gruß//Lucky
-
@lucky_esa
Ist mir auch schon länger aufgefallen.
es könnte sein das es an der Datenpunkte_anlegen Funktion liegt//Telegram Fenster Nachrichtenversand mit SmartNamen anlegen if (Fenster_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == true){ let statesToCreate = [ ['Geraete_zaehlen.Fenster.'+[etage]+'.05_Telegram.Telegram_Fenster_'+[etage]+'_Versand_an_aus', {'name':'Telegram_Fenster_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }], ['Geraete_zaehlen.Fenster.'+[etage]+'.05_Telegram.Telegram_Fensterstatus_'+[etage]+'_senden', {'name':'Telegram_Fensterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": {"de": 'Telegram Fensterstatus '+[etage]+' senden',"smartType": "SWITCH"} }], ]; createUserStates(anlegen_in,true, statesToCreate)}; //Telegram Fenster Nachrichtenversand ohne SmartNamen anlegen if (Fenster_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == false){ let statesToCreate = [ ['Geraete_zaehlen.Fenster.'+[etage]+'.05_Telegram.Telegram_Fenster_'+[etage]+'_Versand_an_aus', {'name':'Telegram_Fenster_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }], ['Geraete_zaehlen.Fenster.'+[etage]+'.05_Telegram.Telegram_Fensterstatus_'+[etage]+'_senden', {'name':'Telegram_Fensterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": false }], ]; createUserStates(anlegen_in,true, statesToCreate)}; //E-Mail Fenster Nachrichtenversand mit SmartNamen anlegen if (Fenster_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == true){ let statesToCreate = [ ['Geraete_zaehlen.Fenster.'+[etage]+'.06_E-Mail.EMAIL_Fenster_'+[etage]+'_Versand_an_aus', {'name':'EMAIL_Fenster_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }], ['Geraete_zaehlen.Fenster.'+[etage]+'.06_E-Mail.EMAIL_Fensterstatus_'+[etage]+'_senden', {'name':'EMAIL_Fensterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": {"de": 'EMAIL fensterstatus '+[etage]+' senden',"smartType": "SWITCH"} }], ]; createUserStates(anlegen_in,true, statesToCreate)}; //E-Mail Fenster Nachrichtenversand ohne SmartNamen anlegen if (Fenster_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == false){ let statesToCreate = [ ['Geraete_zaehlen.Fenster.'+[etage]+'.06_E-Mail.EMAIL_Fenster_'+[etage]+'_Versand_an_aus', {'name':'EMAIL_Fenster_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }], ['Geraete_zaehlen.Fenster.'+[etage]+'.06_E-Mail.EMAIL_Fensterstatus_'+[etage]+'_senden', {'name':'EMAIL_Fensterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": false }], ]; createUserStates(anlegen_in,true, statesToCreate)};
Wenn dort hinter anlegen_in, true steht, dann werden die Datenpunkte neu geschrieben, das ist aber Absicht, weil man so auswählen kann welche Datenpunkte man braucht.
EDIT:
Hier die Beschreibung: (Parameter Punkt 2)
https://github.com/Mic-M/iobroker-createUserStatescreateUserStates(anlegen_in,true, statesToCreate)};
Es könnte aber auch am Start bzw. Ablauf in der Funktion main liegen....
Dort wird Telegram und Email angestoßen, wenn sich die Fensterliste ändert. Die wird ja einmal neu geschrieben beim start, somit geändert...
Vielleicht auch weil der Button aktualisiert wird...?
Es wird ja eigentlich geschaut, ob der Versand true ist, aber im Datenpunkt, vielleicht ist die Abfrage beim Start zu schnell und der Datenpunkt noch nicht eingelesen in die Variable ? -
Es wäre wohl besser dann einfach beide Funktionen mit der Abfrage If text nicht leer zu ergänzen.
Es ist mit Sicherheit ein zeitliches Phänomen daher kann ich es nicht genau bestimmen. -
Konnte es nun endlich simulieren. Die Fehler kommen wenn ich die Instanz javascript neu starte beziehungsweise einen Restart durchführe.
Edit1:
6 x Neustart und immer die Fehlermeldungen. Allerdings kommt keine bei der 1.7.2
Habe bei den anderen das gemacht und es kommen nun auch keine mehr. -
Hier nun die Testversionen.
Zusätzlich habe ich mit der Hilfe von @fastfoot das Erstellen der Datenpunkte verändert. (Stichwort await / async)
So sieht es jetzt aus
-
@dslraser
Muss man die alten Datenpunkte löschen bevor man das neue Blockly startet? -
@dirk1962
ich denke nichtEdit: Bei den Türen: ja
-
@dslraser
Habe ich auch nicht gemacht . Blockly funktioniert, Telegram nutze ich nicht. Die Alexa Ansage ist auch okay, mit neuem Text. Nur der Versand der E-Mail aus iQontrol klappt nicht. Muss ich mal schauen, ob ich da noch was einstellen muss. Bin bei iQontrol noch absoluter Newbie. -
@dirk1962 sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:
Versand der E-Mail aus iQontrol klappt nich
Für den Button
Für den Schalter
-
@dslraser
Ich habe in iQontrol die html-Tabelle so angelegt:
Dann sieht es so aus:
Der Button "Absenden" in iQontrol ist ohne Funktion. Wie gesagt, ich habe noch fast keine Erfahrung mit iQontrol.
Der Versand der E-Mail über den Button in den Objekten funktioniert. -
@dirk1962
Schaue Dir mal hier die letzten beiden Spoiler an.https://forum.iobroker.net/post/530382
Edit:
Bei mir sieht es in iQontrol aktuell so ausZ.B. Fenster aufgeklappt
-
@dslraser
Dein iQontrol habe ich schon gesehen, Respekt .
Bis ich da bin wird noch eine Weile dauern. -
@dirk1962
Ich habe in iQontrol eine Unterseite, wo ich den Status versenden kann. Ich nutze Telegram, aber Email ist das gleiche Prinzip. Das ist alles als "Knopf" in iQontrol angelegt.In einer anderen Unterseite kann ich den Versand, z.B. bei An/Abwesenheit schalten. Das ist dann ein Schalter und verlinkt auf den Schalter in den Objekten.
Edit: mit diesen "Knöpfen" erreiche ich die Unterseiten.(zu anderer Ansicht, oder so ähnlich)
Wenn ein Gerät dahinter aktiv ist, dann ist die Kachel hell und auch die Anzahl erscheint als kleine Zahl.
-
Fenster und Türen Testversion hier eingefügt