NEWS
Test Adapter doorio v2.1.2
-
@johni sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
ich hab den code hunderte male eingegeben. vlt mach ich nochmal alles neu. es funktioniert sporadisch oder auch nicht. bastelst du eigentlich weiter? falls es was gibt?
Falls es was gibt. Im Moment funktioniert ja alles bei mir.
-
@Wal
sollte nicht unfreundlich rüberkommen. war nur das interesse am system. ich schau auch bei doorpi immer wieder vorbei um zu sehen obs was neues gibt.
hab weiter probiert und tatsächlich glaube ich den fehler gefunden zu haben. wie gesagt, verwende ich dein pulseaudio image. beende ich den piface.service manuell und starte ihn dann wieder, dann funktioniert das schalten des relais. ich kapier aber nicht recht warum, da der service eigentlich von beginn an läuft und der tastendruck(für den anruf) funktioniert immer, nur das relais schaltet nur nach neustart des piface services.ps: hast du den iobroker auf dem selben pi wie auch das piface laufen?
-
@Wal hast du vlt einen tip wie ich den piface.service verlässlich zum starten bekomm?
-
@johni sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
ps: hast du den iobroker auf dem selben pi wie auch das piface laufen?
Upps, hatte ich doch glatt übersehen.
Ich habe nur die Sprechanlage auf dem Pi am laufen, quasi nur das Image zum downloaden plus mjpg-streamer für die USB-Kamera. ioBroker habe ich auf einem Intel-Nuc unter Debian am laufen. -
ok, bei mir läuft alles auf einem system. leider schaff ichs nicht den fehler zu finden. "sudo systemctl restart piface.service" muss ich nach jedem reboot ausführen, dass der service funktioniert. aber ich kapier nicht warum.
führe ich ein sudo apt-get update bzw. upgrade aus, wird der piface.service auf dem pi alle paar sekunden neugestartet.
ich versuche nun nochmal dein image frisch zu flashen, ohne irgendwelche updates durchzuführen.
So, nochmal alles aufgespielt, ohne Updates. Hier läuft der Service, aber Relais schaltet immer noch erst nach einem Neustart des piface Services.
hab den piface.service nun mal aus dem systemd rausgenommen und manuell gestartet. auch dann funktioniert es nicht. erst wenn ich den prozess manuell beende und erneut starte funktioniert es.
-
@johni sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
ok, bei mir läuft alles auf einem system. leider schaff ichs nicht den fehler zu finden. "sudo systemctl restart piface.service" muss ich nach jedem reboot ausführen, dass der service funktioniert. aber ich kapier nicht warum.
führe ich ein sudo apt-get update bzw. upgrade aus, wird der piface.service auf dem pi alle paar sekunden neugestartet.
ich versuche nun nochmal dein image frisch zu flashen, ohne irgendwelche updates durchzuführen.
So, nochmal alles aufgespielt, ohne Updates. Hier läuft der Service, aber Relais schaltet immer noch erst nach einem Neustart des piface Services.
hab den piface.service nun mal aus dem systemd rausgenommen und manuell gestartet. auch dann funktioniert es nicht. erst wenn ich den prozess manuell beende und erneut starte funktioniert es.
Habe heute auch ein update gemacht. Das Piface läuft nicht mehr. Mal schauen an was es liegt.
-
Bei mir hat er die Kernelmodule nicht mehr geladen.
pi@raspberrypi:~ $ lsmod Module Size Used by sha256_generic 20480 0 cfg80211 614400 0 rfkill 28672 2 cfg80211 snd_usb_audio 192512 0 evdev 24576 2 snd_hwdep 16384 1 snd_usb_audio pl2303 20480 0 snd_usbmidi_lib 32768 1 snd_usb_audio usbserial 40960 1 pl2303 snd_rawmidi 32768 1 snd_usbmidi_lib snd_seq_device 16384 1 snd_rawmidi snd_pcm 102400 1 snd_usb_audio snd_timer 32768 1 snd_pcm snd 73728 7 snd_hwdep,snd_usb_audio,snd_timer,snd_rawmidi,snd_usbmidi_lib,snd_seq_device,snd_pcm uvcvideo 98304 1 spidev 20480 8 sg 28672 0 uas 24576 0 bcm2835_v4l2 45056 0 bcm2835_codec 36864 0 v4l2_common 16384 1 bcm2835_v4l2 raspberrypi_hwmon 16384 0 videobuf2_vmalloc 16384 2 uvcvideo,bcm2835_v4l2 hwmon 16384 1 raspberrypi_hwmon v4l2_mem2mem 24576 1 bcm2835_codec bcm2835_mmal_vchiq 32768 2 bcm2835_codec,bcm2835_v4l2 videobuf2_dma_contig 20480 1 bcm2835_codec videobuf2_memops 16384 2 videobuf2_dma_contig,videobuf2_vmalloc videobuf2_v4l2 24576 4 uvcvideo,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem videobuf2_common 45056 5 uvcvideo,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2 videodev 200704 8 uvcvideo,bcm2835_codec,v4l2_common,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2 spi_bcm2835 20480 0 media 36864 3 uvcvideo,videodev,v4l2_mem2mem vc_sm_cma 36864 1 bcm2835_mmal_vchiq uio_pdrv_genirq 16384 0 uio 20480 1 uio_pdrv_genirq fixed 16384 0 ip_tables 24576 0 x_tables 32768 1 ip_tables ipv6 450560 0
spi_bcm2835 muß geladen sein.
-
@Wal said in [Aufruf] Neuer Adapter ioBroker.doorio:
lsmod
also das modul ist bei mir geladen. zumindest wirds bei lsmod angezeigt. ich sprech nun von deinem image, ohne updates. ich muss aber wie gesagt den piface.service immer 2 mal starten, dass es funktioniert.
beim ersten start bleibt es immer bei
"MQTT client: Received PUBACK (Mid: 8)" hängen. -
@Wal
Welches Gerät verwendest du als Gegenstelle?
Ein Fritzphone? -
@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
@Wal
Welches Gerät verwendest du als Gegenstelle?
Ein Fritzphone?Ja
-
@johni
du startest bei meinem Image den Service mit Hand ? Hast du ihn vorher mit " sudo systemctl stop piface" beendet ?
Da er ja beim starten vom RPI schon geladen wird. -
@Wal
Ein Android Gerät aber nicht?
Wäre es möglich, dass ich von meiner VIS aus mit der Gegensprechanlage kommunizieren kann? Es existiert ja auch ein Asterisk Adapter für Iobroker -
@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
@Wal
Ein Android Gerät aber nicht?
Wäre es möglich, dass ich von meiner VIS aus mit der Gegensprechanlage kommunizieren kann? Es existiert ja auch ein Asterisk Adapter für IobrokerDie Fritz-App auf dem Handy funktioniert auch. Ich nutze die VIS und Asterisk nicht, da kann ich dir leider nicht weiterhelfen.
Evtl. kann man eine Sip-App in die VIS einbinden, die beim Klingelevent eingeblendet wird ? -
@Wal natürlich. zum testen hab ich alles mögliche versucht. auch schon aus systemd entfernt. muss ihn dann 2 mal manuell starten bis es läuft. beim ersten mal läuft er nicht ganz durch.
-
@johni sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
"MQTT client: Received PUBACK (Mid: 8)" hängen.
pi@raspberrypi:~ $ /usr/bin/python3 /usr/local/lib/python3.7/dist-packages/pi_mqtt_gpio/server.py /home/pi/config.yml Last will set on 'testpi/status' as 'dead'. MQTT client: Sending CONNECT (u1, p1, wr1, wq1, wf1, c0, k60) client_id=b'testpi' MQTT client: Received CONNACK (1, 0) Connected to the MQTT broker with protocol v3.1.1. MQTT client: Sending SUBSCRIBE (d0, m1) [(b'testpi/output/DoorOpen/set', 1)] Subscribed to topic: 'testpi/output/DoorOpen/set' MQTT client: Sending SUBSCRIBE (d0, m2) [(b'testpi/output/DoorOpen/set_on_ms', 1)] Subscribed to topic: 'testpi/output/DoorOpen/set_on_ms' MQTT client: Sending SUBSCRIBE (d0, m3) [(b'testpi/output/DoorOpen/set_off_ms', 1)] Subscribed to topic: 'testpi/output/DoorOpen/set_off_ms' MQTT client: Sending PUBLISH (d0, q1, r1, m4), 'b'testpi/status'', ... (7 bytes) MQTT client: Received PUBLISH (d0, q1, r0, m24), 'testpi/output/DoorOpen/set', ... (5 bytes) MQTT client: Sending PUBACK (Mid: 24) Received message on topic 'testpi/output/DoorOpen/set': b'false' Set 'raspberrypi' output 'DoorOpen' to False MQTT client: Sending PUBLISH (d0, q0, r0, m5), 'b'testpi/output/DoorOpen'', ... (5 bytes) MQTT client: Received SUBACK MQTT client: Received PUBLISH (d0, q1, r0, m25), 'testpi/output/DoorOpen/set_on_ms', ... (0 bytes) MQTT client: Sending PUBACK (Mid: 25) Received message on topic 'testpi/output/DoorOpen/set_on_ms': b'' Invalid payload on received MQTT message: Could not parse ms value b'' to an integer. MQTT client: Received SUBACK MQTT client: Received PUBLISH (d0, q1, r0, m26), 'testpi/output/DoorOpen/set_off_ms', ... (0 bytes) MQTT client: Sending PUBACK (Mid: 26) Received message on topic 'testpi/output/DoorOpen/set_off_ms': b'' Invalid payload on received MQTT message: Could not parse ms value b'' to an integer. MQTT client: Received SUBACK MQTT client: Received PUBACK (Mid: 4) Input 'DoorBell_1' state changed to False MQTT client: Sending PUBLISH (d0, q0, r0, m6), 'b'testpi/input/DoorBell_1'', ... (5 bytes) Input 'DoorBell_2' state changed to False MQTT client: Sending PUBLISH (d0, q0, r0, m7), 'b'testpi/input/DoorBell_2'', ... (5 bytes) MQTT client: Received PUBLISH (d0, q1, r1, m27), 'testpi/output/DoorOpen/set', ... (5 bytes) MQTT client: Sending PUBACK (Mid: 27) Received message on topic 'testpi/output/DoorOpen/set': b'false' Set 'raspberrypi' output 'DoorOpen' to False MQTT client: Sending PUBLISH (d0, q0, r0, m8), 'b'testpi/output/DoorOpen'', ... (5 bytes) MQTT client: Received PUBLISH (d0, q1, r1, m28), 'testpi/output/DoorOpen/set_on_ms', ... (0 bytes) MQTT client: Sending PUBACK (Mid: 28) Received message on topic 'testpi/output/DoorOpen/set_on_ms': b'' Invalid payload on received MQTT message: Could not parse ms value b'' to an integer. MQTT client: Received PUBLISH (d0, q1, r1, m29), 'testpi/output/DoorOpen/set_off_ms', ... (0 bytes) MQTT client: Sending PUBACK (Mid: 29) Received message on topic 'testpi/output/DoorOpen/set_off_ms': b'' Invalid payload on received MQTT message: Could not parse ms value b'' to an integer. MQTT client: Sending PINGREQ MQTT client: Received PINGRESP MQTT client: Sending PINGREQ MQTT client: Received PINGRESP MQTT client: Sending PINGREQ MQTT client: Received PINGRESP
Der Log sieht auf meinem TestPi so aus.
Bei dir kommt auch ein Input, bevor die Verbindung mit dem MQTT-Server steht ?
So sieht ei Input und der Output bei mir aus:MQTT client: Sending PINGREQ MQTT client: Received PINGRESP MQTT client: Sending PINGREQ MQTT client: Received PINGRESP Input 'DoorBell_1' state changed to True MQTT client: Sending PUBLISH (d0, q0, r0, m9), 'b'testpi/input/DoorBell_1'', ... (4 bytes) Input 'DoorBell_1' state changed to False MQTT client: Sending PUBLISH (d0, q0, r0, m10), 'b'testpi/input/DoorBell_1'', ... (5 bytes) MQTT client: Received PUBLISH (d0, q1, r1, m30), 'testpi/output/DoorOpen/set', ... (4 bytes) MQTT client: Sending PUBACK (Mid: 30) Received message on topic 'testpi/output/DoorOpen/set': b'true' Set 'raspberrypi' output 'DoorOpen' to True MQTT client: Sending PUBLISH (d0, q0, r0, m11), 'b'testpi/output/DoorOpen'', ... (4 bytes) MQTT client: Received PUBLISH (d0, q1, r1, m31), 'testpi/output/DoorOpen/set', ... (5 bytes) MQTT client: Sending PUBACK (Mid: 31) Received message on topic 'testpi/output/DoorOpen/set': b'false' Set 'raspberrypi' output 'DoorOpen' to False MQTT client: Sending PUBLISH (d0, q0, r0, m12), 'b'testpi/output/DoorOpen'', ... (5 bytes) MQTT client: Sending PINGREQ MQTT client: Received PINGRESP MQTT client: Sending PINGREQ MQTT client: Received PINGRESP MQTT client: Sending PINGREQ MQTT client: Received PINGRESP
-
@johni sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
@Wal natürlich. zum testen hab ich alles mögliche versucht. auch schon aus systemd entfernt. muss ihn dann 2 mal manuell starten bis es läuft. beim ersten mal läuft er nicht ganz durch.
Ich sehe in deinem Log auch, das du vom Server beim bekanntgeben der Inputs/Outputs beim Start keine Antwort bekommst.
Connected to the MQTT broker with protocol v3.1.1. MQTT client: Sending SUBSCRIBE (d0, m1) [(b'testpi/output/DoorOpen/set', 1)] Subscribed to topic: 'testpi/output/DoorOpen/set' MQTT client: Sending SUBSCRIBE (d0, m2) [(b'testpi/output/DoorOpen/set_on_ms', 1)] Subscribed to topic: 'testpi/output/DoorOpen/set_on_ms' MQTT client: Sending SUBSCRIBE (d0, m3) [(b'testpi/output/DoorOpen/set_off_ms', 1)] Subscribed to topic: 'testpi/output/DoorOpen/set_off_ms' MQTT client: Sending PUBLISH (d0, q1, r1, m4), 'b'testpi/status'', ... (7 bytes) MQTT client: Received PUBLISH (d0, q1, r0, m32), 'testpi/output/DoorOpen/set', ... (5 bytes) MQTT client: Sending PUBACK (Mid: 32) Received message on topic 'testpi/output/DoorOpen/set': b'false' Set 'raspberrypi' output 'DoorOpen' to False MQTT client: Sending PUBLISH (d0, q0, r0, m5), 'b'testpi/output/DoorOpen'', ... (5 bytes) MQTT client: Received SUBACK MQTT client: Received PUBLISH (d0, q1, r0, m33), 'testpi/output/DoorOpen/set_on_ms', ... (0 bytes) MQTT client: Sending PUBACK (Mid: 33) Received message on topic 'testpi/output/DoorOpen/set_on_ms': b'' Invalid payload on received MQTT message: Could not parse ms value b'' to an integer. MQTT client: Received SUBACK
Ich bekomme hier z.B. den Invalid payload, da beim Start im ioBroker der Status von testpi/output/DoorOpen/set_on_ms keinen Wert hat, was normal ist.
-
Ich kann mir vorstellen, das du den Start des Services verzögern musst, bis ioBroker vollständig hochgefahren ist, falls ioBroker auf dem selben RPI läuft.
-
@Wal aus genau diesem Grund starte ich den Service manuell. Hab auch extra schon Minuten nach hochfahren des pis drauf gewartet bis ich den piface starte, um dem iobroker genug Zeit zu geben.
-
@johni sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
@Wal aus genau diesem Grund starte ich den Service manuell. Hab auch extra schon Minuten nach hochfahren des pis drauf gewartet bis ich den piface starte, um dem iobroker genug Zeit zu geben.
Wenn du ein wenig Linuxwissen hast, kannst du Mosquitto als Server laufen lassen und im ioBroker Mqtt als Client.
In der config vom piface-service machst du ein "After=mosquitto.service" .
Er verbindet sich jetzt beim start mit Mosquitto und iobroker klinkt sich dann ein, funzt bei mir so auch.
Du musst nur den MQTT-Port ändern, falls du im ioBroker noch ein MQTT-Server für andere sachen brauchst. -
@johni
ich hätte jetzt noch ein Image incl. ioBroker und Mosquitto, falls du möchtest stelle ich es Online.