KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[Beantwortet] [V3.5.1] Telegram Bot Per HTTP-API anbinden

Wissen, Planung & Diskussion zur Unterstützung von Rest-API & Webabfragen im Timberwolf Server.
Stellt uns hier Eure Projekte und Ideen vor.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
hans4711
Reactions:
Beiträge: 124
Registriert: Mi Nov 08, 2023 4:24 pm
Hat sich bedankt: 40 Mal
Danksagung erhalten: 65 Mal

#31

Beitrag von hans4711 »

@SchateMuhl Interessanterweise funktioniert das bei mir so nicht. Ich habe keine CustomLogik sondern ein Standardlogik


Bild
Bild


Habe verschiedene Möglichkeiten versucht:
Humidor - \n Luft \r\n feuchte nicht %0A ideal Luftfeuchte: \r \n
aber es wird immer komplett so auch verschickt, also inkl. den Zeilenumbrüchen. Hast du mal einen Auszug aus deiner Logik zum Vergleich?
3500 XL ID:1339

SchateMuhl
Reactions:
Beiträge: 472
Registriert: Mi Nov 23, 2022 9:31 pm
Wohnort: Werther bei Nordhausen
Hat sich bedankt: 128 Mal
Danksagung erhalten: 185 Mal
Kontaktdaten:

#32

Beitrag von SchateMuhl »

Hallo Hans

@hans4711
Sorry war mal ein paar Stunden nicht am PC.

warum es mit einer fertigen Logik nicht geht kann ich nicht sagen, kann mir aber Vorstellen das es eventuell an fehlenden Leerzeichen liegt, Leerzeichen am Ende oder am Anfang eines Strings werden entfernt, das hatte ich schon mal beim basteln mit einer fertigen Logik.
Ich persönlich finde es mit einer Custom Logik einfach besser, so kann ich mir für jedes "Gerät" eine Logik bauen und damit die Strings für die VISU und auch für die Telegram Nachrichten einbauen.

Hier kannst du Dir meine Wallbox Steuerung ansehen und dir die Teile wo ich mir den String baue in eine Custom Logik einfügen.

Code: Alles auswählen

{
  "_Meta": { // Optional
    "Description": "Wallbox Steuerung  ",
    "Version": "1.01",
    "Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
  }, 
  "Level": [
       
      // Eingangs Variablen
        ["$in_1","integer",0],
        ["$in_2","integer",0],
        ["$in_3","bool",true],
        ["$in_4","float",0],
        ["$in_5","string","Wait"],
        ["$in_6","integer",0],
        ["$in_7","integer",0],
        ["$in_8","integer",250],
        ["$in_9","bool",false],
        ["$in_10","bool",true],
      
      // Ausgangs Variablen
      
        ["$out_1","bool",false], 
        ["$out_2","integer",0],
        ["$out_3","integer",0],
        ["$out_4","string","                                                   "],
        ["$out_5","bool",false],
        ["$out_6","string",""],
        ["$out_7","integer",0],

      
      // Trigger Flags
      ["$Trigger","bool",true],
      
      
      // Crone Eintrag für die 3 Trigger
      
      ["$Telegram_Crontab","string","30 * * * * *"],  // damit wird das Modul Cron gefüllt und gestartet wenn *_Trigger-Aktiv True ist
      ["$Next_Sender","integer",0],
      
     
      
      ["$visu_reichweite","string",""],
      ["$visu_batterie","string",""],
      
      
      
      ["$format_r","string","%.0d km "],
      ["$format_b","string","%.0d %% SoC"],
      
      ["$Text_1","string",""],
      ["$Text_2","string",""],
      ["$Text_3","string",""],
      ["$Nachricht_1","string","                                                                                        "],
      ["$Nachricht_2","string","                                                                                        "],
      ["$Nachricht_3","string","                                                                                        "],
      ["$Nachricht_4","string","                                                                                        "],
      
      ["$vorText_1","string","\r\nDas Auto wird gerade geladen ("],   ["$nachText_1","string",")\r\nund hat "],
      ["$vorText_2","string","\r\nKein Auto Angeschlossen ("],   ["$nachText_2","string",")\r\nund hat "],
      ["$vorText_3","string","\r\nAuto Angeschlossen ("],   ["$nachText_3","string",")\r\nwird aber nicht geladen mit "],
      ["$vorText_4","string","\r\nLade Pause ("],   ["$nachText_4","string",")\r\nmit "],
      
      
      ["$Mode","string","I"],
      ["$Vergleich_1","string","Charging"],
      ["$Vergleich_2","string","Idle"],
      ["$Vergleich_3","string","Connect"],
      ["$Vergleich_4","string","Complete"],
      
      ["$CarModus_1","bool",false],
      ["$CarModus_2","bool",false],
      ["$CarModus_3","bool",false],
      ["$CarModus_4","bool",false],
      
      ["$CarModus_Timer","bool",false],
    //  ["$CarModus_Timer_2","bool",false],
    //  ["$CarModus_Timer_3","bool",false],
    //  ["$CarModus_Timer_4","bool",false],
      
      ["$CarModus_Sender_1","bool",false],
      ["$CarModus_Sender_2","bool",false],
      ["$CarModus_Sender_3","bool",false],
      ["$CarModus_Sender_4","bool",false], 
      
      ["$CarModus_TSender_1","bool",false],
      ["$CarModus_TSender_2","bool",false],
      ["$CarModus_TSender_3","bool",false],
      ["$CarModus_TSender_4","bool",false], 
      
      ["$M_0","integer",0],
      ["$M_1","integer",0],
      ["$M_2","integer",0],
      ["$M_3","integer",0],
      ["$M_4","integer",1],
      
      ["$LS_0","integer",0],
      ["$LS_1","integer",0],
      ["$LS_2","integer",0],
      ["$LS_3","integer",10],
      ["$LS_4","integer",16],
    
      ["$MO_0","integer",3],
      ["$MO_1","integer",4],
    
      ["$sperre","bool",false],
      ["$km_sperre","bool",false],
      ["$km_eco_sperre","bool",false],
      ["$ext_sperre","bool",false]
      
  ],
  "Input": [
      ["Modus", "Modus", "$in_1", "c"],    
      ["Ladestrom", "Ladestrom", "$in_2", "c"],    // Eingangs Wert  c = bei änderung wird getriggert
      ["Visu_An_AUS ","VISU AN und AUS", "$in_3", "c"],   
      ["Power","Power","$in_4","c"],
      ["Auto-Con","Auto Angeschlossen","$in_5","c"],
      ["Reichweite","Reichweite","$in_6","c"],
      ["SoC","Auto SoC","$in_7","c"],
      ["km-Sperre","km Sperre","$in_8","c"],
      ["ext-Sperre","externe Sperre","$in_9","c"],
      ["Zyklus-Sender","Zyklisch senden wenn Auto nicht angeschlossen","$in_10","c"]
      
      
   ],
  "Output": [
      ["ECO_Norm", "ECO / Normal", "$out_1", "c"],  
      ["Lade", "Ladestrom", "$out_2", "c"],  
      ["Mode", "Mode", "$out_3", "c"],  
      ["Nachricht", "Telegram Nachricht", "$out_4", "ct"],  
      ["Sperre", "Sperre", "$out_5", "a"] ,
      ["VISU", "VISU Anzeige", "$out_6", "c"],
      ["Next-Nachricht","nächste Nachricht","$out_7","c"]    
      

    ],

  "Module": [
    ["Multiplexer",["$M_0","$M_1","$M_2","$M_3","$M_4"], "$out_1", "$in_1"],
    ["Multiplexer",["$LS_0","$LS_1","$LS_2","$LS_3","$LS_4"], "$out_2", "$in_1"] ,
    ["Multiplexer",["$MO_0","$MO_1"], "$out_3", "$in_3"], 
    
    ["Comparator","$in_6","$km_sperre","$in_8"],
    ["And",["$km_sperre","$out_1"],"$km_eco_sperre"],
    ["Or", ["$km_eco_sperre", "$in_9"], "$out_5"],
    
    
    //["Multiplexer",["$M_0","$M_1","$M_2","$M_3","$M_4"], "$out_5", "$in_1"],
    //["Concat",["$Text_1","$Text_2"],"$Nachricht"]
    
    ["Printf","$in_6","$format_r", "$visu_reichweite"],
    ["Printf","$in_7","$format_b", "$visu_batterie"],
    ["Concat",["$visu_reichweite","$visu_batterie"], "$out_6"],
    
    ["Stringcompare","$in_5","$CarModus_1","$Vergleich_1","$Mode"],
    ["Stringcompare","$in_5","$CarModus_2","$Vergleich_2","$Mode"],
    ["Stringcompare","$in_5","$CarModus_3","$Vergleich_3","$Mode"],
    ["Stringcompare","$in_5","$CarModus_4","$Vergleich_4","$Mode"],
    
    ["Concat",["$vorText_1","$in_5","$nachText_1","$out_6"], "$Nachricht_1"],
    ["Concat",["$vorText_2","$in_5","$nachText_2","$out_6"], "$Nachricht_2"],
    ["Concat",["$vorText_3","$in_5","$nachText_3","$out_6"], "$Nachricht_3"],
    ["Concat",["$vorText_4","$in_5","$nachText_4","$out_6"], "$Nachricht_4"],
    
    ["And", ["$in_10","$CarModus_2"], "$Trigger"],
    ["Cron","$Trigger","$CarModus_Timer","$Next_Sender","$Telegram_Crontab"], 
    
    // ["And", ["$CarModus_1", "$CarModus_Timer"], "$CarModus_Sender_1"],
    ["And", ["$CarModus_2", "$CarModus_Timer"], "$CarModus_TSender_2"],
    // ["And", ["$CarModus_3", "$CarModus_Timer"], "$CarModus_Sender_3"],
    // ["And", ["$CarModus_4", "$CarModus_Timer"], "$CarModus_Sender_4"],
    
    ["Or", ["$CarModus_1"], "$CarModus_Sender_1"],
    ["Or", ["$CarModus_2","$CarModus_TSender_2"], "$CarModus_Sender_2"],
    ["Or", ["$CarModus_3"], "$CarModus_Sender_3"],
    ["Or", ["$CarModus_4"], "$CarModus_Sender_4"],
    
    
    
    ["Latch","$Nachricht_1","$out_4","$CarModus_Sender_1",1],
    ["Latch","$Nachricht_2","$out_4","$CarModus_Sender_2",1],
    ["Latch","$Nachricht_3","$out_4","$CarModus_Sender_3",1],
    ["Latch","$Nachricht_4","$out_4","$CarModus_Sender_4",1],
    
    ["Latch","$Next_Sender","$out_7","$CarModus_Timer",1]
    
    
   ]
}
Grüße
Andreas

TWS 3500M ID:992 /XL ID:1198 , VPN offen, Reboot nach Absprache
- KNX mit TWS, 1Home, ENO Gateway, ETS6.3
- PV Anlagen AC gekoppelt mit Fronius IG 40/60 und Symo 10KW
- 96kWh LiFePo mit 3 x MultiPlus 48/8000 und DC PV Anlagen über MPPT

michael8
Reactions:
Beiträge: 85
Registriert: Fr Jan 27, 2023 5:27 pm
Hat sich bedankt: 61 Mal
Danksagung erhalten: 22 Mal

#33

Beitrag von michael8 »

@hans4711 Wie hast du das Empfangen von Telegram-Nachrichten auf dem TWS umgesetzt? Kannst du mir ein paar Screenshots posten? ;-) Vielen Dank!
TWS 3500 XL mit 256GB NVMe SSD, SN 1070, VPN aktiv, Support-Reboot nach Rücksprache - danke.
EFH, Fronius WR & SM, StiebelEltron LWZ 8, KNX, DALI, Prusa MK3S+.... 8-)

Ersteller
hans4711
Reactions:
Beiträge: 124
Registriert: Mi Nov 08, 2023 4:24 pm
Hat sich bedankt: 40 Mal
Danksagung erhalten: 65 Mal

#34

Beitrag von hans4711 »

Hallo Michael, empfangen von Telegram geht nicht. Du müsstest wenn dann auf nodered ausweichen
3500 XL ID:1339
Antworten

Zurück zu „HTTP-API, REST & Web-Abfragen“