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.