NEWS
Telegram Error nach update 1.1.2
-
1.1.2 macht bei mir auch Probleme.
Downgrade auf 1.1.1. über Admin - Adapter: geht nicht
Downgrade auf 1.1.0. über Admin - Adapter: geht , aber Fehler
Upgrade über Admin auf 1.1.3 geht, aber:
Handy empfängt Nachrichten, kann aber keine schicken, Query-ID invalid
telegram.0 2018-03-19 13:24:26.828 error Cannot send answerCallbackQuery [user - undefined]: Error: ETELEGRAM: 400 Bad Request: QUERY_ID_INVALID -
1.1.2 macht bei mir auch Probleme.
Downgrade auf 1.1.1. über Admin - Adapter: geht nicht
Downgrade auf 1.1.0. über Admin - Adapter: geht , aber Fehler
Upgrade über Admin auf 1.1.3 geht, aber:
Handy empfängt Nachrichten, kann aber keine schicken, Query-ID invalid
telegram.0 2018-03-19 13:24:26.828 error Cannot send answerCallbackQuery [user - undefined]: Error: ETELEGRAM: 400 Bad Request: QUERY_ID_INVALID ```` `Mit der Version 1.1.0 geht Telegram. <u>Mit der Version 1.1.2 muss ein Problem bestehen</u>. Hatte es nochmal installiert und beim Senden von iobroker heraus wieder viele Fehlermeldung. Installation (downgrade aus Admin heraus funktionierte bei mir auch nicht).
Also alle Instanzen und Adapter für Telegram gelöscht, evtl. Prozess (io.telegram.0) "gekilled" , iobroker gestoppt und mit npm install iobroker.telegram@1.1.0 –production neu installiert. Neue Instanz –-> Alles funktioniert wieder.
mfg
Karl-Heinz
-
-
Ich würde mir das Issue gerne anschauen, könnt ihr mir einen Herleitung geben, in welchem Fall der Fehler
error Cannot send answerCallbackQuery [user - undefined]: Error: ETELEGRAM: 400 Bad Request: QUERY_ID_INVALIDauftaucht, d.h. was ich genau tun muss?
Bei mir läuft v1.1.3 eigentlich recht rund, hatte auch zuletzt einen kleinen Bugfix dafür erstellt, der scheinbar auch dieses Verhalten jetzt verursachen könnte. Aber egal was ich bei mir tue (Nachricht, Nachricht mit Keyboard + Response), ich bekomme den Fehler nicht :(
<u>Nachtrag:</u> Die 1.1.3 gibt es noch nicht auf dem regulären Weg, Bluefox muss sie noch bei NPM publishen. Und beim Fixen hatte ich auch das Problem, dass ich die "alten" Prozesse "io.telegram.0" händisch abschießen musste .. danach lief es dann stabil(er).
-
Ich würde mir das Issue gerne anschauen, könnt ihr mir einen Herleitung geben, in welchem Fall der Fehler
error Cannot send answerCallbackQuery [user - undefined]: Error: ETELEGRAM: 400 Bad Request: QUERY_ID_INVALIDauftaucht, d.h. was ich genau tun muss?
Bei mir läuft v1.1.3 eigentlich recht rund, hatte auch zuletzt einen kleinen Bugfix dafür erstellt, der scheinbar auch dieses Verhalten jetzt verursachen könnte. Aber egal was ich bei mir tue (Nachricht, Nachricht mit Keyboard + Response), ich bekomme den Fehler nicht :(
<u>Nachtrag:</u> Die 1.1.3 gibt es noch nicht auf dem regulären Weg, Bluefox muss sie noch bei NPM publishen. Und beim Fixen hatte ich auch das Problem, dass ich die "alten" Prozesse "io.telegram.0" händisch abschießen musste .. danach lief es dann stabil(er). `
Ich habe 1.1.3. am Laufen. Das untere Script verursacht bei mir den Fehler "Cannot send answerCallbackQuery [user - undefined]".Ich kann im Handy die Trigger Wörter eintippen wie "warm", dann erscheint auch die Auswahl auf dem Handy. Wenn ich dann eine Auswahl auswähle kommt der Fehler.
Script:
! ````
on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
var benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren
var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren
! if (befehl.search(/(?=.*(\bTEMPERATUR\b|\bWARM\b|\bKALT\b)).+/ig) != -1) {
sendTo('telegram', {
user: benutzer,
text: 'Für welchen Raum möchtest du die Temperatur abfragen?',
reply_markup: {
inline_keyboard: [
[{ text: 'alle Räume', callback_data: '%Tempalle'},{ text: 'Draussen', callback_data: '%TempDraussen'}],
[{ text: 'Gästebadezimmer', callback_data: '%TempGaestebadezimmer'}],
[{ text: 'Wohnzimmer', callback_data: '%TempWohnzimmer'}],
[{ text: 'Schlafzimmer', callback_data: '%TempSchlafzimmer'},{ text: 'Badezimmer', callback_data: '%TempBadezimmer'}],
[{ text: 'Hobbykeller', callback_data: '%TempHobbykeller'},{ text: 'Waschkeller', callback_data: '%TempWaschkeller'}],
]
}
});
}// Auswahl alle Räume oder einzeln.
else if (befehl === "%Tempalle") {
sendTo('telegram', {
user: benutzer,
text: "Temperatur alle Räume angefragt",
answerCallbackQuery: {
text: 'Draussen ' + getState("hm-rpc.0.KEQ0766402.1.TEMPERATURE"/Klima_Aussen:1.TEMPERATURE/).val + '°C\nWohnzimmer ' + getState("rflink.0.channels.Baldr_1.TEMP"/Baldr_ 1 Temperature/).val + '°C\nBadezimmer ' + getState("hm-rpc.0.LEQ0998813.1.TEMPERATURE"/Klima_Bad:1.TEMPERATURE/).val + '°C\nGästebadezimmer ' + getState("hm-rpc.0.LEQ1072301.1.TEMPERATURE"/Klima_Bad_DG:1.TEMPERATURE/).val + '°C\nSchlafzimmer ' + getState("hm-rpc.2.000E9569A2407B.1.ACTUAL_TEMPERATURE"/Klima_Eltern:1.ACTUAL_TEMPERATURE/).val + '°C\nHobbykeller ' + getState("hm-rpc.0.LEQ0998792.1.TEMPERATURE"/Klima_Hobbykeller:1.TEMPERATURE/).val + '°C\nWaschkeller ' + getState("hm-rpc.0.LEQ0998786.1.TEMPERATURE"/Klima_Waschraum:1.TEMPERATURE/).val + '°C',
showAlert: true
}
});
}
else if (befehl === "%TempDraussen") {
sendTo('telegram', {
user: benutzer,
text: "Temperatur Draussen angefragt",
answerCallbackQuery: {
text: 'Die Temperatur draußen beträgt ' + getState("hm-rpc.0.KEQ0766402.1.TEMPERATURE"/Klima_Aussen:1.TEMPERATURE/).val + '°C',
showAlert: true
}
});
}
else if (befehl === "%TempSchlafzimmer") {
sendTo('telegram', {
user: benutzer,
text: "Schlafzimmertemperatur angefragt",
answerCallbackQuery: {
text: 'Die Temperatur im Schlafzimmer beträgt ' + getState("hm-rpc.2.000E9569A2407B.1.ACTUAL_TEMPERATURE"/Klima_Eltern:1.ACTUAL_TEMPERATURE/).val + '°C',
showAlert: true
}
});
}
else if (befehl === "%TempGaestebadezimmer") {
sendTo('telegram', {
user: benutzer,
text: "Gästebadezimmertemperatur angefragt",
answerCallbackQuery: {
text: 'Die Temperatur im Gästebadezimmer beträgt ' + getState("hm-rpc.0.LEQ1072301.1.TEMPERATURE"/Klima_Bad_DG:1.TEMPERATURE/).val + '°C',
showAlert: true
}
});
}
else if (befehl === "%TempBadezimmer") {
sendTo('telegram', {
user: benutzer,
text: "Badezimmertemperatur angefragt",
answerCallbackQuery: {
text: 'Die Temperatur im Bad beträgt ' + getState("hm-rpc.0.LEQ0998813.1.TEMPERATURE"/Klima_Bad:1.TEMPERATURE/).val + '°C',
showAlert: true
}
});
}
else if (befehl === "%TempWohnzimmer") {
sendTo('telegram', {
user: benutzer,
text: "Wohnzimmertemperatur angefragt",
answerCallbackQuery: {
text: 'Die Temperatur im Wohnzimmer beträgt ' + getState("rflink.0.channels.Baldr_1.TEMP"/Baldr_ 1 Temperature/).val + '°C',
showAlert: true
}
});
}
else if (befehl === "%TempHobbykeller") {
sendTo('telegram', {
user: benutzer,
text: "Hobbykellertemperatur angefragt",
answerCallbackQuery: {
text: 'Die Temperatur im Hobbykeller beträgt ' + getState("hm-rpc.0.LEQ0998792.1.TEMPERATURE"/Klima_Hobbykeller:1.TEMPERATURE/).val + '°C',
showAlert: true
}
});
}
else if (befehl === "%TempWaschkeller") {
sendTo('telegram', {
user: benutzer,
text: "Waschkellertemperatur angefragt",
answerCallbackQuery: {
text: 'Die Temperatur im Waschkeller beträgt ' + getState("hm-rpc.0.LEQ0998786.1.TEMPERATURE"/Klima_Waschraum:1.TEMPERATURE/).val + '°C',
showAlert: true
}
});
}
}); -
Der Fehler sollte nun auch gefixed sein. Pull Request für den Adapter wurde gestellt und hoffentlich gibt es danach auch eine schöne 1.1.3 per NPM-Paket. Solange bleibt nur die manuelle Installation aus meinem Fork: https://github.com/BasGo/ioBroker.telegram
Ich kann im Handy die Trigger Wörter eintippen wie "warm", dann erscheint auch die Auswahl auf dem Handy. Wenn ich dann eine Auswahl auswähle kommt der Fehler. `
@lobomau: Übrigens ein sehr, sehr geiles Script … darf ich mir die Idee mit dem Telegram-Dialog von dir "klauen", gefällt mir! 8-)
-
Der Fehler sollte nun auch gefixed sein. Pull Request für den Adapter wurde gestellt und hoffentlich gibt es danach auch eine schöne 1.1.3 per NPM-Paket. Solange bleibt nur die manuelle Installation aus meinem Fork: https://github.com/BasGo/ioBroker.telegram
Ich kann im Handy die Trigger Wörter eintippen wie "warm", dann erscheint auch die Auswahl auf dem Handy. Wenn ich dann eine Auswahl auswähle kommt der Fehler. `
@lobomau: Übrigens ein sehr, sehr geiles Script … darf ich mir die Idee mit dem Telegram-Dialog von dir "klauen", gefällt mir! 8-) `
Sauber. Deine Version 1.1.3 läuft wieder ohne Fehler! Vielen Dank!Natürlich kannst du das Script nehmen. Hab ich doch selber geklaut :-D
-
Ich hänge mich hier auch mal ran, ich bekomme folgende Fehlermeldung nicht mehr weg und der Adapter läuft nicht mehr.
Seit Update auf Version 1.1.2. Update auf 1.1.3 hab ich auch schon versucht, selbst ein komplettes löschen und neuinstallieren oder auch downgrade auf 1.1.0 geht nicht. Weiß nicht mehr was ich noch machen soll. Prozess hab ich auch schon gekillt, ohne Erfolg.
Auf debug umgestellt, da kommt auch nicht mehr wie der Fehler.
Jemand ne Idee?

-
Leider nicht, gerade nochmal alles deinstalliert, iobroker neu gestartet nochmal installiert, ohne Erfolg.
Nach dem installieren nochmals neu gestartet, gleiches Problem
-
Der Fehler sollte nun auch gefixed sein. Pull Request für den Adapter wurde gestellt und hoffentlich gibt es danach auch eine schöne 1.1.3 per NPM-Paket. Solange bleibt nur die manuelle Installation aus meinem Fork: https://github.com/BasGo/ioBroker.telegram
Ich kann im Handy die Trigger Wörter eintippen wie "warm", dann erscheint auch die Auswahl auf dem Handy. Wenn ich dann eine Auswahl auswähle kommt der Fehler. `
@lobomau: Übrigens ein sehr, sehr geiles Script … darf ich mir die Idee mit dem Telegram-Dialog von dir "klauen", gefällt mir! 8-) `
Sauber. Deine Version 1.1.3 läuft wieder ohne Fehler! Vielen Dank!Natürlich kannst du das Script nehmen. Hab ich doch selber geklaut :-D `
Da ist doch noch ein bug drin. Ein anderes Script wird nicht mehr ausgeführt, ein Foto sollte geschickt werden, kommt aber Fehler im log. Leider komme ich nicht mehr ans log dran nachdem ich auf 1.1.0 gegangen bin. Mit 1.1.0 läuft aber alles wieder ohne Fehler. -
Ich hänge mich hier auch mal ran, ich bekomme folgende Fehlermeldung nicht mehr weg und der Adapter läuft nicht mehr.
Seit Update auf Version 1.1.2. Update auf 1.1.3 hab ich auch schon versucht, selbst ein komplettes löschen und neuinstallieren oder auch downgrade auf 1.1.0 geht nicht. Weiß nicht mehr was ich noch machen soll. Prozess hab ich auch schon gekillt, ohne Erfolg.
Auf debug umgestellt, da kommt auch nicht mehr wie der Fehler.
Jemand ne Idee?
Telegram.PNG `
Eventuell ist die Reihenfolge entscheidend!? Ich habe unter 1.1.3., zuerst die Adapter gestoppt (telegram.0 und .1), dann die beiden Prozesse gekillt (liefen nämlich noch), dann über admin downgrade auf 1.1.0 durchgeführt. Dann Adapter neugestartet. Läuft jetzt, ohne ioBroker neustarten oder Adapter löschen. -
Da ist doch noch ein bug drin. Ein anderes Script wird nicht mehr ausgeführt, ein Foto sollte geschickt werden, kommt aber Fehler im log. Leider komme ich nicht mehr ans log dran nachdem ich auf 1.1.0 gegangen bin. Mit 1.1.0 läuft aber alles wieder ohne Fehler. `
Kann den Fehler bei mir nachvollziehen, werde mich drum kümmern und hier Feedback geben.
Noch vor der 1.1.2 kam irgendeine Änderung in den Code, weshalb häufig irgendwelche Instanzen als Prozess-Zomies im System geblieben sind. Bei mir musste ich auch die Prozesse von Hand killen und danach konnte ich den Adapter dann "ganz normal" starten. Mittlerweile ist die 1.1.3 auch bei NPM, allerdings ist sie (noch) nicht im Stable-Repository. Wer sich die neue Version installieren möchte, sollte entweder das "latest"-Repository verwenden oder aber über GitHub direkt gehen.
-
Kann den Fehler bei mir nachvollziehen, werde mich drum kümmern und hier Feedback geben. `
Bitte mal die Version von https://github.com/BasGo/ioBroker.telegram testen, das Versenden von Bildern sollte nun auch (wieder) funktionieren. Mein letzter Fix war dann doch etwas zu gründlich und ich hatte eine Passage gefixed, bei der es gar keinen Fehler gab :lol:
Wenn alles OK ist, dann würde ich eine 1.1.4 als Pull Request stellen ;)
-
Sehr schön. Habe deine 1.1.4. und es funktioniert wohl alles.
Eine Sache beobachte ich jedoch noch: wenn ich die Temperaturen abfrage kommt der Fehler von telegram.1, aber eigentlich mach ich die Abfrage und bekomme die Antwort an telegram.0. Und eigentlich wollte ich sowieso weg von zwei Instanzen und es mit einer schaffen… aber das ist wieder ein anderes Thema...
telegram.1 2018-03-20 11:13:02.270 error Cannot send answerCallbackQuery [chatId - GEHEIM]: Error: ETELEGRAM: 400 Bad Request: QUERY_ID_INVALIDP.S. habe das Script angepasst. Überall wo "telegram" stand hab ich "telegram.0" hingschrieben. So geht es ohne Fehler.
-
Eine Sache beobachte ich jedoch noch: wenn ich die Temperaturen abfrage kommt der Fehler von telegram.1, aber eigentlich mach ich die Abfrage und bekomme die Antwort an telegram.0. `
Hier noch mal ein Ausschnitt aus deinem Script:
on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) { var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben var benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren if (befehl.search(/(?=.*(\bTEMPERATUR\b|\bWARM\b|\bKALT\b)).+/ig) != -1) { sendTo('telegram', { user: benutzer, text: 'Für welchen Raum möchtest du die Temperatur abfragen?', reply_markup: { inline_keyboard: [ [{ text: 'alle Räume', callback_data: '%Tempalle'},{ text: 'Draussen', callback_data: '%TempDraussen'}], [{ text: 'Gästebadezimmer', callback_data: '%TempGaestebadezimmer'}], [{ text: 'Wohnzimmer', callback_data: '%TempWohnzimmer'}], [{ text: 'Schlafzimmer', callback_data: '%TempSchlafzimmer'},{ text: 'Badezimmer', callback_data: '%TempBadezimmer'}], [{ text: 'Hobbykeller', callback_data: '%TempHobbykeller'},{ text: 'Waschkeller', callback_data: '%TempWaschkeller'}], ] } }); }Dort greifst du alle Requests von telegram.0 ab
on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) { ... }… und sendest die Antwort an alle Instanzen …
sendTo('telegram', { ... }… anstatt sie an telegram.0 ausschließlich zu senden mit …
sendTo('telegram.0', { ... }Könnte es vielleicht schon helfen, wenn du das bei dir anpasst?
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden