NEWS
[Gelöst] Standort via Telegram JS/Blockly
-
Hallo zusammen,
ich versuche schon den halben Tag über Iobroker und Telegram einen Standortlink zu verschicken.
Grundsätzlich habe ich auch schon eine funktionierende Lösung, ich hätte es aber gern einfach etwas schicker.
Folgendes läuft momentan bei mir:
-
Handy meldet aktuellen Standort via Mqtt an den Broker
-
Script bastelt aus den übermittelten Koordinaten und einem Google Maps Link eine funktionsfähige URL
-
Url wird per Telegram auf Anfrage an das entsprechende Handy geschickt
Das habe ich alles mit blockly zusammen gefrickelt, da ich echt null Ahnung von Javacript habe.
Nun kommen wir zum eigentlichen Problem bzw. meiner Wunschvorstellung.
Es ist ja via Telegram möglich einen Standort zu teilen. Darauf erhält man eine kleine Kartenvorschau in Telegram und mit einem Druck darauf, öffnet sich Maps innerhalb von Telegram.
Das möchte ich ganz gern vom Broker aus verschicken.
Nun habe ich mal die github Katze gefragt und bin auf folgendes beispiel gestoßen:
sendTo('telegram.0', { latitude: 52.522430, longitude: 13.372234, disable_notification: true });
Wenn ich den Code jedoch so übernehme, geht mein Log mit fehlermeldungen durch die Decke.
! telegram.0 2017-05-23 13:49:16.181 error at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
! telegram.0 2017-05-23 13:49:16.181 error at WS. (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
! telegram.0 2017-05-23 13:49:16.181 error at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
! telegram.0 2017-05-23 13:49:16.181 error at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
! telegram.0 2017-05-23 13:49:16.181 error at Socket. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
! telegram.0 2017-05-23 13:49:16.181 error at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
! telegram.0 2017-05-23 13:49:16.181 error at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
! telegram.0 2017-05-23 13:49:16.181 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
! telegram.0 2017-05-23 13:49:16.181 error at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
! telegram.0 2017-05-23 13:49:16.181 error at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
! telegram.0 2017-05-23 13:49:16.181 error at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
! telegram.0 2017-05-23 13:49:16.181 error at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
! telegram.0 2017-05-23 13:49:16.181 error at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
! telegram.0 2017-05-23 13:49:16.181 error at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
! telegram.0 2017-05-23 13:49:16.181 error at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
! telegram.0 2017-05-23 13:49:16.181 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
! telegram.0 2017-05-23 13:49:16.181 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3001:34)
! telegram.0 2017-05-23 13:49:16.181 error at Adapter.emit (events.js:169:7)
! telegram.0 2017-05-23 13:49:16.181 error at emitOne (events.js:77:13)
! telegram.0 2017-05-23 13:49:16.181 error at Adapter. (/opt/iobroker/node_modules/iobroker.telegram/main.js:35:14)
! telegram.0 2017-05-23 13:49:16.181 error at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:335:29)
! telegram.0 2017-05-23 13:49:16.181 error at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:294:17)
! telegram.0 2017-05-23 13:49:16.181 error TypeError: Cannot read property 'match' of undefined
! telegram.0 2017-05-23 13:49:16.180 error message messagebox.system.adapter.telegram.0 [object Object] Cannot read property 'match' of undefined
Wenn ich versuche das ganze in Blockly nach zu bauen, gelingt mir das natürlich nicht.In dem "standard" Telegram Block, gibt es nur die Funktion eine Nachricht zu verschicken.
In dem "sendto" block kann ich zwar parameter usw. festlegen, aber dieser versendet mir nicht einmal eine einfache Nachricht über Telegram.
Ich hoffe mir kann jemand etwas Support leisten.
-
-
Keiner eine Idee?
-
Bitte neue Version von Telegram (latest repo) testen
-
Bluefox…....das war absolut stark.
Mit der "latest" telegram Version funktioniert es auf Anhieb mit dem oben angegebenen Code.
Vielen Dank!
-
@tantehorst kannst du mir mal zeigen wie das auf blockly aussoeht dass du die kpordinaten mittels blockly versendest und so diese auf telegram öffnen kannst? Oder hast du das jetzt komplett auf javascript gebaut? Mir wäre eben blockly auch lieber aber die karte muss schon so kommen dass man die auf telegram öffnen kann.
-
@drapo sorry, aber der Beitrag ist ÜBER 7 Jahre alt... was erwartest Du als Antwort?
Mach doch einfach einen neuen Beitrag auf mit genauer Beschreibung was Du hast und was Du erreichen willst.
-
@djmarc75 er beschreibt exakt mein problem daher dachte ich braucht es nicht einen neuen beitrag.
-
-
@mcm1957 genau den hatte ich dann erstellt.