Soweit ich gesehen habe wird über das cgi nur ein HM Script ausgeführt. Das kann man in RedMatic ohne Umwege über das Script-Node machen.
Zum Ursprungs-Problem:
Um einfach eine Temperatur zu einer bestimmten Zeit zu senden muss man diese einfach in einem context speichern und den letzten Wert zu der bestimmten Zeit senden:
im value Node den Datenpunkt wählen:
Der value node sendet immer den Wert, wenn er vom Gerät gesendet wird (oder nur wenn er sich ändert, wenn der entsprechende haken gesetzt ist).
in dem change node einfach als "flow variable" speichern:
und im Inject node den letzen variablen-wert aussenden:
Ich habe auch verschiedene Wemos. Ursprünglich hatte ich auch CuXD Geräte damit "gefüttert". Das hat mir nicht wirklich gefallen. Es gibt nicht für alles CuXD Geräte und dann müssen Systemvariablen her.
Die Anbindung habe ich mit RedMatic jetzt anders gelöst. Ich habe auf meiner CCU noch das Mosquitto AddOn laufen und sende die Daten alle über MQTT an RedMatic und auch den IOBroker). Die paar CuXD Geräte, welche ich noch habe aktualisiere ich jetzt über RedMatic.
Damit bin ich auch flexibler, wenn sich was ändert, ist der RedMatic Flow einfacher angepasst.
RedMatic - Telegrambot-home
Moderator: Co-Administratoren
Re: RedMatic - Telegrambot-home
Moin! Und Danke, soweit komme ich mit. Allerdings hapert es bei mir daran die Variable in den Telegram Node zu übergeben und ausgeben zu lassen.
Also bis zum Inject Node ist alles gut. Der Trigger gibt auch per Debug den gewünschten Wert aus. Aber keine Ahnung wie ich diese msg.payload an telegram übergebe
Also bis zum Inject Node ist alles gut. Der Trigger gibt auch per Debug den gewünschten Wert aus. Aber keine Ahnung wie ich diese msg.payload an telegram übergebe
-
- Beiträge: 460
- Registriert: 06.01.2018, 12:48
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 57 Mal
- Danksagung erhalten: 39 Mal
Re: RedMatic - Telegrambot-home
Da kann ich dir leider nicht helfen.
Ich nutze das Paket "node-red-contrib-telegrambot" und hier die "Telegram sender" node.
Über diese schicke ich die Nachricht als objekt in der Form:
Damit kommen bei mir die Nachrichten an.
Ich nutze das Paket "node-red-contrib-telegrambot" und hier die "Telegram sender" node.
Über diese schicke ich die Nachricht als objekt in der Form:
Code: Alles auswählen
msg. payload = {
chatId : 081508150,
type : 'message',
content : 'dies ist mein Message-text', //(required) - your message
options : {
disable_web_page_preview : true,
parse_mode : 'HTML', //"Markdown"
disable_notification : 'false'
}
Re: RedMatic - Telegrambot-home
Ja so kann ich das auch machen. Habe auch das node-red-contrib-telegrambot Paket.
Aber wie zieh ich mir eine Variable mit rein? Das müsste ja mit in den content block kommen, siehe unten.
Aber wie zieh ich mir eine Variable mit rein? Das müsste ja mit in den content block kommen, siehe unten.
Code: Alles auswählen
msg. payload = {
chatId : 081508150,
type : 'message',
content : 'Die Temperatur beträgt' + msg.myTemp + "Grad Celsius", //(required) - your message
options : {
disable_web_page_preview : true,
parse_mode : 'HTML', //"Markdown"
disable_notification : 'false'
}
-
- Beiträge: 460
- Registriert: 06.01.2018, 12:48
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 57 Mal
- Danksagung erhalten: 39 Mal
Re: RedMatic - Telegrambot-home
entweder eine change node nehmen
und dann den payload.content auf deinen Wert mittels JSONATA:
oder (langweilig) nur eine function node:
dort setzt du zuerst den payload auf die JSON expression:
Code: Alles auswählen
{
"chatId": 081508150,
"type": "message",
"content": "",
"options": {
"disable_web_page_preview": true,
"parse_mode": "HTML",
"disable_notification": false
}
}
Code: Alles auswählen
'Die Temperatur beträgt ' & msg.myTemp & " Grad Celsius"
-
- Beiträge: 13
- Registriert: 12.01.2011, 00:45
- Wohnort: 8800 Lysos, District Paphos, Zypern
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: RedMatic - Telegrambot-home
Variable aus dem flow context auslesen!
Mit dem Befehl get lassen sich zuvor im flow gespeicherte Daten wieder auslesen.
in deinem Script sähe das dann so aus:
Viel Erfolg!
Smutje
Mit dem Befehl get lassen sich zuvor im flow gespeicherte Daten wieder auslesen.
Code: Alles auswählen
var t = flow.get("myTemp");
Code: Alles auswählen
msg. payload = {
chatId : 081508150,
type : 'message',
content : 'Die Temperatur beträgt' + flow.get("myTemp") + "Grad Celsius", //(required) - your message
options : {
disable_web_page_preview : true,
parse_mode : 'HTML', //"Markdown"
disable_notification : 'false'
}
Smutje