FHEM zu Loxone - ZWave Sensative Strip (unsichtbarer Fenster-Sensor)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • nt86
    Extension Master
    • 24.02.2016
    • 130

    #1

    FHEM zu Loxone - ZWave Sensative Strip (unsichtbarer Fenster-Sensor)

    Hallo Gemeinde,

    habe mir vor ein paar Tagen einen ZWave Sensative Strip bestellt, da ich diesen gern in der Terrassentür (Hebe-Schiebe-Tür) einsetzen möchte.

    Die Integration in FHEM hat wunderbar funktioniert und der Status wird auch korrekt angezeigt. Mein Problem und hier komm ich nicht weiter, ist
    der Notify in Richtung Loxone. Leider liefert der Sensor offen/geschlossen nicht über das Reading "state", sondern "alarm". Deshalb habe ich
    das Reading wie folgt definiert:

    Code:
    stateFormat {(split(/,|is /, ReadingsVal($name,"alarm_AccessControl","")))[1]}
    Der Notify Command sieht nun wie folgt aus:

    Code:
    ZWave_SENSOR_NOTIFICATION_2:closed "wget -q -O - 'http://user:passwd@192.168.0.111/dev/sps/io/VI16/On'"
    Der wget Command funktioniert auch soweit wenn ich ihn manuell auf der Bash der FHEM Maschine absetz.

    Hat jemand eine Idee wie ich hier weiter kommen könnte? (Hinweise zum Debugging wären schon ein guter Start ...)

    Anbei die Bilder der Konfiguration:

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: zwave_dev-overview.JPG Ansichten: 1 Größe: 154,9 KB ID: 100034Klicke auf die Grafik für eine vergrößerte Ansicht  Name: zwave_readings-u-attributes.JPG Ansichten: 1 Größe: 197,2 KB ID: 100035 Klicke auf die Grafik für eine vergrößerte Ansicht

Name: zwave_notify-cfg.JPG
Ansichten: 798
Größe: 134,1 KB
ID: 100040

    VG nt86
    Zuletzt geändert von nt86; 28.05.2017, 11:57.
  • okenny
    LoxBus Spammer
    • 09.08.2016
    • 306

    #2
    Hi t86,

    wäre es auch eine Option ein Einbindung mit UDP zu realisieren? Ich habe alls per UDP realisiert, es scheint sehr flexible zu sein, ich hatte keine solche Probleme.

    Mit einer Anpassung von 99_myUtils.pm müsste es relativ leicht sein "Alarm" an Loxone zu schicken 0=Closed, 1=open usw...?
    schau mal hier: http://www.meintechblog.de/2016/07/5...-loxone-howto/

    Was hatltest du von den Sensative Strips? Wie hast due die in FHEM eingebunden, GPIO Z-Wave HAT? Wie ist die Reichweite?

    Kommentar

    • nt86
      Extension Master
      • 24.02.2016
      • 130

      #3
      Hi okenny,

      hatte es per UDP noch nicht versucht, spricht somit nichts dagegen. Langzeit Erfahrung habe ich mit den Stripes ja noch nicht. Bisher machen sie aber einen guten Eindruck.
      Mein "Test-Labor" (Arbeitszimmer) liegt recht weit vom HWR entfernt wo der Server steht und die Anbindung funktionierte ohne Probleme. Eingebunden ist Z-Wave über ein
      USB Gateway (ZME_UZB1) direkt am FHEM Server. Funktionierte Plug-and-Play.

      VG nt86

      Kommentar

      • okenny
        LoxBus Spammer
        • 09.08.2016
        • 306

        #4
        ok, danke.
        Bin gespannt zu hören wie du es schaffst. UDP müsste gehen.....?
        Ich mach viel mit FHEM, die kombination FHEM + Loxone ist echt toll.

        Ich habe selber noch keine Fensterkontakte installiert. Die Kabel sind in der Wand, man müsste nur bohren und die Sensor anbringen. Ich habe aber leider wenig Zeit für sowas, Funk würde schnelle gehen, deswegen die Interesse

        Kommentar

        • nt86
          Extension Master
          • 24.02.2016
          • 130

          #5
          Also per UDP wird auch nichts gesendet. Es scheint als ob er überhaupt nicht mitbekommt das sich etwas am STATE ändert.

          Hat jemand eine Idee wie man das debuggen könnte?

          EDIT: sollte mir der folgende Aufruf im Browser nicht eigentlich den Status-Wert anzeigen? Die Seite ist leer ...
          Code:
          http://192.168.0.13:8083/fhem&cmd=%7BValue(%22ZWave_SENSOR_NOTIFICATION_2%22)%7D&XHR=1
          VG
          Zuletzt geändert von nt86; 29.05.2017, 08:37.

          Kommentar

          • nt86
            Extension Master
            • 24.02.2016
            • 130

            #6
            So ich kann Erfolg melden!

            Die UDP-Variante ist tatsächlich wesentlich flexibler, zumindest konnte ich so die Integration gestalten. Danke für den Hinweis.

            Zunächst muss UDP erstmal in FHEM aktiviert werden (innerhalb der 99_myUtils.pm):

            Code:
            #UDP Befehle senden
            sub UDP_Msg($$$)
            {
            my ($dest,$port,$cmd) = @_;
            my $sock = IO::Socket::INET->new(
             Proto => 'udp',
             PeerPort => $port,
             PeerAddr => $dest
            ) or die "Could not create socket: $!\n";
            $sock->send($cmd) or die "Send error: $!\n";
            return "send $cmd";
            }
            Nun folgen eigentlich die Code-Schnipsel für das Versenden von diversen Stati (on/off, open/closed/tilted etc.) -> siehe mein meintechblog.
            Diese funktionieren in diesem Fall aber nicht, da der Sensor-Strip den Status nicht wie üblich über "state" meldet, sondern über das Reading "alarm_AccessControl".

            Deshalb musste ich ein angepasstes schreiben. Der jeweilige Stati wird im Script verarbeitet und ein entsprechender Wert an Loxone gesendet:

            Code:
            #WindowSensorToLoxone
            sub WindowSensorToLoxone($)
            {
             my ($device) = @_;
             my $state = ReadingsVal("$device","alarm_AccessControl","-1");
             if ($state eq "Window/Door is closed, arg 0000, notificationIsOn") {
             $state = "1";
             }
             if ($state eq "Window/Door is open, arg 0000, notificationIsOn") {
             $state = "3";
             }
            
             UDP_Msg("192.168.178.79" , "7000" , "$device: $state");
            }
            Dieser Teil des Scripts gehört auch in die Datei "99_myUtils.pm". Ich sende hier jeweils den Wert 1 oder 3 - etwas angepasst dem Fenster- und Türüberwachungsbaustein (Eingang AIw).

            Der Notify-Command (abzusetzen im FHEM-Web) sieht dann wie folgt aus:

            Code:
            define WindowSensorToLoxone notify ZWave_SENSOR_NOTIFICATION_2:alarm_AccessControl.* {WindowSensorToLoxone("$NAME")}
            Hierbei ist "ZWave_SENSOR_NOTIFICATION_2" der Name des Sensors (nicht der Alias).

            Somit wird ein Notify ausgelöst, sobald sich der Wert des Readings "alarm_AccessControl" ändert und als Aktion wird das Script WindowsSensorToLoxone ausgeführt, worin dann die Werte entsprechend verarbeitet werden.

            Hoffe es hilft dem ein oder anderen.

            VG nt86
            Zuletzt geändert von nt86; 29.05.2017, 15:35.

            Kommentar


            • bastelbert
              bastelbert kommentierte
              Kommentar bearbeiten
              Ich hänge gerade bei der Kommunikation von FHEM nach Loxone in der Luft
              Wenn mein Strip "ZWave_SENSOR_NOTIFICATION_8" heißt, wie muss der Wert für die "Befehlserkennung" im UDP Eingang heißen?
              ZWave_SENSOR_NOTIFICATION_8:\v ??

              Nachtrag: Scheinbar wird bei mir der Notify gar nicht erst ausgelöst, im Log sind dazu keine Einträge beim Statuswechsel zu erkennen.

              Nachtrag2: Gelöst! Ich musste den angepassten Code von Robert L.s Beitrag weiter unten verwenden, nun kommen Daten in Loxone an.

              DANKE!
              Zuletzt geändert von bastelbert; 20.08.2017, 02:47.

            • nt86
              nt86 kommentierte
              Kommentar bearbeiten
              Da bin ich zu spät. Gut das es geklappt hat!
          • Robert L.
            MS Profi
            • 26.08.2015
            • 922

            #7
            oha, genial, hab bei der Haustür den Sensor "vergessen"
            damit könnte ich nachrüsten
            welchen ZWave EMPFÄNGER habt ihr da im Einsatz?

            Kommentar

            • nt86
              Extension Master
              • 24.02.2016
              • 130

              #8
              Ich habe den ZME_UZB1 - funktionierte auf anhieb mit FHEM.

              Kommentar

              • Robert L.
                MS Profi
                • 26.08.2015
                • 922

                #9
                danke, hab ich gerade bestellt,
                loxberry schon eingerichtet (samt FHEM)
                bin gespannt

                Kommentar

                • nt86
                  Extension Master
                  • 24.02.2016
                  • 130

                  #10
                  Bin gespannt auf deine Rückmeldung. Integriere auch gerade meine Waterkotte ECOTOUCH über FHEM in Loxone, danach ist die KWL Zehnder ComfoAir dran.

                  Kommentar

                  • Robert L.
                    MS Profi
                    • 26.08.2015
                    • 922

                    #11
                    habs hin bekommen
                    USB-Stick ist ja PlugAndPlay (hab von Amazon einen Smart Home Stick Made for My Cloude by WD bekommen, in einer riesigen Schachtel..)
                    Einlernen war auch "Auf Knopfdruck"

                    dann wurde es knifflig (vorallem wenn man das das erste mal macht),
                    ich hab nämlich scheinbar andere Firmware

                    Code im 99_myUtils.pm deshalb:


                    #WindowSensorToLoxone
                    sub WindowSensorToLoxone($)
                    {
                    my ($device) = @_;

                    my $state = ReadingsVal("$device","alarm","-1");
                    if ($state eq "AccessControl: Window/Door is closed, arg 0000") {
                    $state = "1";
                    }
                    if ($state eq "AccessControl: Window/Door is open, arg 0000") {
                    $state = "3";
                    }

                    UDP_Msg("192.168.123.127" , "7069" , "$device: $state");

                    }


                    und im fhem.cfg:

                    define WindowSensorToLoxone notify ZWave_SENSOR_NOTIFICATION_3:alarm:.* {WindowSensorToLoxone("$NAME")}\



                    wenn ich mal Zeit hab, werd ich noch "battery" übertragen, das wäre noch interessant..
                    Zuletzt geändert von Robert L.; 02.06.2017, 20:54.

                    Kommentar

                    • nt86
                      Extension Master
                      • 24.02.2016
                      • 130

                      #12
                      Schön das es geklappt hat! Welche FW Version hast du? Werde das bei Gelegenheit mal ins LoxWiki einpflegen.

                      Kommentar

                      • Robert L.
                        MS Profi
                        • 26.08.2015
                        • 922

                        #13
                        Strip version Lib 6 Prot 4.05 App 0.7 HW 2 FWCounter 1 FW 0.8


                        (vom USB Stick weiß ich nicht wo man das herausfindet)

                        Kommentar

                        • nt86
                          Extension Master
                          • 24.02.2016
                          • 130

                          #14
                          Zitat von Robert L.
                          wenn ich mal Zeit hab, werd ich noch "battery" übertragen, das wäre noch interessant..
                          Hast du das schon integriert? Bin heute mal dazu gekommen:

                          Code:
                          #File: /opt/fhem/FHEM/99_myUtils.pm
                          
                           my $battery = ReadingsVal("$device","battery","-1");
                           my @battery_pct = split ' ', $battery;
                          
                          UDP_Msg("192.168.178.79" , "7000" , "$device:status: $state $device:batterie: $battery_pct[0]");
                          Ist splitte die "100 %" noch mal auf, so dass beim MS nur "100" ankommt.

                          VG
                          Zuletzt geändert von nt86; 30.06.2017, 10:17.

                          Kommentar


                          • Robert L.
                            Robert L. kommentierte
                            Kommentar bearbeiten
                            nein, aber danke
                            was mir aufgefallen ist: battery 100 % 2017-06-03 10:02:19

                            d.h. die letzte Abfrage ist schon sehr lange her, weiß garnicht ob er das überhaupt "freiwillig" sendet?

                          • nt86
                            nt86 kommentierte
                            Kommentar bearbeiten
                            Nein von allein sendet er es nicht zyklisch. Ich verbinde es aktuell mit dem Event beim öffnen / schließen. Alternativ kannst du über das Attribut "event-min-interval" im FHEM zyklisch ein Event auslösen lassen. Im folgenden Bsp. alle 30 Sek.:

                            Code:
                            attr <device> event-min-interval battery:30

                            Edit: ah, jetzt bin ich bei Dir. Hatte es anders verstanden. Du hast Recht. Wobei der Wakeup Interval bei 86400 (1 Tag) steht. Wenn ich "get battery" anstoß, bekomm ich die Meldung das der Wert nach dem WakeUp gesendet wird. Ich werde das mal beobachten ...
                            Zuletzt geändert von nt86; 30.06.2017, 10:26.
                        • bastelbert
                          LoxBus Spammer
                          • 25.08.2016
                          • 237

                          #15
                          Hi zusammen,
                          ich wollte mal hören, wie eure Erfahrungen mit den Strips + FHEM/Loxone sind?
                          Für welche Anwendungsfälle nutzt ihr die Kontakte (nur Status offen/zu, Alarmanlage, ...)?
                          Danke für euer Feedback!

                          Kommentar

                          Lädt...