Topic-icon Dimmersteuerung per openHAB

Mehr
08 Okt 2018 13:58 #1 von oberp
Dimmersteuerung per openHAB wurde erstellt von oberp
Hallo an alle

Nochmals die Anfrage an alle openHAB-Progger:
Hat es jemand per OpenHAB in irgendeiner Form geschafft, die Dimmermodule zu steuern?
Und zwar egal, ob per rule, HTML, MQTT oder Exec.

Ein- und Ausschalten per Action-URL funktioniert:
http://192.168.0.5:80/postEvent.html?action=input&stm=0&mod=16&cha=0&evt=3

Aber wie kann ich einen Dimmerausgang auf einen bestimmten Dimmwert setzen?
In der Sitemap wird ein Slider angezeigt, aber wie kann ich den Dimmwert an die STM senden?

Items-, Sitemaps- oder rules-Beispiele wären toll.
Gruß Torsten

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
17 Dez 2018 22:24 #2 von simonjo
simonjo antwortete auf Dimmersteuerung per openHAB
Hallo Torsten,

You could use xWRC to communicate with the STMv3, so you can use the structured HTTP commandinterface of xWRC to send commands to your dimmer like below:

http://<ip-address-of-xwrc>/?ccmd=dim.0.out0.set.<level>.<runtime>&terse

Where <level> = 0-255 and <runtime> = 1-160

I.e. setting your dimmer to level 60 in 2 seconds use these values:
http://<ip-address-of-xwrc>/?ccmd=dim.0.out0.set.60.2&terse
Folgende Benutzer bedankten sich: ansgar75

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
17 Dez 2018 23:03 #3 von oberp
oberp antwortete auf Dimmersteuerung per openHAB
Hallo Jo
Danke für den Tipp. Ich werde am Wochenende die Kommunikation über xWRC versuchen, ich melde mich, soweit ich mehr weiß... :-)
Danke und Grüße, Torsten

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
07 Jan 2019 17:00 #4 von oberp
oberp antwortete auf Dimmersteuerung per openHAB
mmmhhh...
Bin immer noch mit dem OpenHAB-Update 2.4 (MQTT-Binding) beschäftigt, xWRC muss noch etwas warten :-)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
09 Jan 2019 16:43 #5 von oberp
oberp antwortete auf Dimmersteuerung per openHAB
Hallo Jo

Heute hab' ich etwas mit xWRC experimentiert :-)
Leider ohne Erfolg...

Meine STM ist eine V3, IP-Adresse ist 192.168.1.2
xwrc ist auf einem raspi installiert, IP-Adresse ist 192.168.1.5

Die ini-Datei sieht so aus (gekürzt)
[xwrc]
adminkey=0x12345678
httpport=8080


[xicontrol.0]
remaddr=192.168.1.2
remport=6680
remmode=1

Ich starte xwrc von Hand:
xwrc.raspi -inifile ./xwrc.ini
folgende Ausgabe:
xWRC (Linux/RbPI) -- v3.3.1.0 -- Sep 18 2016 ----------- webInterface for PHC -
===============================================================================
Running in demo mode
Press CTRL+C to terminate xWRC

Wenn ich im Browser die folgende Zeile eingebe:
http://192.168.1.5:8080/
gibt es aber nur ein "Keine Verbindung zum Server"

Hab' ich einen Denkfehler?
Gruß Torsten

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
09 Jan 2019 20:46 #6 von simonjo
simonjo antwortete auf Dimmersteuerung per openHAB
Thorsten,

Did you configure your firewall? this might be the reason.

First check existing rules by using: sudo iptables -L

This might show an empty ruleset like below.
>>>
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
<<<

In this case you need to allow tcp port 8080 in the firewall using: sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

Then try again


Jo

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
10 Jan 2019 08:52 #7 von oberp
oberp antwortete auf Dimmersteuerung per openHAB
Hallo Jo

sudo iptables -L

gives

[sudo] Passwort für openhabian:
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


after

sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT


i get

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http-alt

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


aber es funktioniert nicht.... :-(
Dazu muss ich vielleicht sagen, dass auf dem raspi OpenHAB und Lighttp installiert sind. Wenn ich beides abschalte (

sudo service openhab stop

) und

sudo service lighttpd stop

), bekomme ich im Firefox bei

http://192.168.1.5:8080

als auch bei

http://192.168.1.5

trotzdem ein "Verbindung fehlgeschlagen"

Frage zu Funktion: xWRC hat einen Web-Server integriert, welcher die eingehenden Befehle konvertiert und zum STM schickt?
Schreibe ich in der ini

httpport=8443

, bekomme ich im Browser ein

�P

angezeigt... :-)
Schalte ich das Debugging an (

loglevel=0xFFFFFFFF

), wird trotzdem nichts angezeigt...

Vielen Dank für deine Hilfe... :-)
Gruß Torsten

PS.:

nmap -sT 192.168.1.5

zeigt

PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
2001/tcp open dc
2002/tcp open globe
3306/tcp open mysql
8080/tcp open http-proxy
8443/tcp open https-alt
9001/tcp open tor-orport

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Mär 2019 08:49 - 14 Mär 2019 08:53 #8 von oberp
oberp antwortete auf Dimmersteuerung per openHAB
Hallo PHC-ler

Bezgl. meiner Dimmersteuerung komme ich nicht wirklich weiter. Zur Zeit versuche ich, die Dimmer direkt anzusteuern. Hilfreich ist hier (dachte ich) das PHC-Protokoll: https://wiki.phc-forum.de/index.php/PHC-Protokoll_des_internen_Bus . Die Umsetzung nach PHP einschl. CRC-Berechnung hat auch soweit geklappt. Was aber fehlt ist die Art und Weise, wie ich den erzeugten Hex-Code zur STM übermitteln kann:
  // beispiel-daten aus dem Wiki
  $arr[0]= 0x1d;  // adresse des moduls
  $arr[1]= 0x01;  // toggle-Bit und message-länge
  $arr[2]= 0x32;  // channel und cmd

  // CRC berechnen (hier: 0x6fb7)
  $crc= phc_crc($arr, sizeof($arr));
  $arr[3]= ($crc & 0xff);
  $arr[4]= (($crc & 0xff00) >> 8);

  // url erzeugen (STM v3)
  $server = "192.168.1.2";
  $port = "6680";
  $url= "http://" . $server . ":" . $port . "?";
  
  // Hex-Code erzeugen (hier: 1d01326fb7)
  for($i= 0; $i < sizeof($arr); $i++)
    $url= $url . sprintf("%02x", $arr[$i]);

  // url per curl zur STM schicken
  $ch= curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_exec($ch);
  curl_close($ch);

Die erzeugte URL sieht dann so aus: "http://192.168.1.2:6680?1d01326fb7", wobei der Hex-Code dem Wiki-Beispiel entspricht. Wenn ich die Daten (Moduladresse, Kanal und Befehl usw.) meiner PHC-Installation anpasse und mittels "curl" zur Ausführung an die STM schicke, passiert aber nichts. Wahrscheinlich stimmt das Format der erzeugten URL nicht, oder?

Wer hat Erfahrung mit der direkten Ansteuerung der Ausgangs- bzw. Dimmermodule?
Gruß Torsten
Letzte Änderung: 14 Mär 2019 08:53 von oberp.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
18 Jun 2019 12:05 - 18 Jun 2019 14:29 #9 von oberp
oberp antwortete auf Dimmersteuerung per openHAB
Hallo
Bei der Problemlösung über den internen Bus komme ich nicht weiter... :unsure:

Jetzt versuche ich, mittels RPC die STM zu steuern. Aber auch per RPC
komme ich nicht weiter... Ich habe zwei verschiedene PHP-Libraries ausprobiert
(xmlrpc.inc und xmlrpcclientclass.php).
Wenn ich versuche, die Methode "getVersion()" in der STM aufzurufen, bekomme ich
nur eine Fehlermeldung. Im Log-File der STM steht dann

I, 18.06.2019 11:45:02, XML-RPC, Processing function: getVersion
E, 18.06.2019 11:45:02, XML RPC SW TCP Server: getVersion failed!
E, 18.06.2019 11:45:02, XML RPC Request failed. Fault response: Function getVersion not found in class service.stm.!

Laut meiner "iServer XML-RPC-API.pdf"-Anleitung müsste der Aufruf aber
funktionieren. Ausprobiert habe ich die Ports 6679, 6680 und 6681.

Wer hat schonmal per RPC die STM gesteuert?
Gruß Torsten

Tante Edith:
Das "PHP-Programm" zum Nachvollziehen:
<?php
include("./xmlrpcclient.class.php");

$client= new XMLRPCClient("http://192.168.1.2:6680");
print("client opened\n");

$rslt= $client->getVersion();
print("  result= {$rslt}\n");

$client->close();
print("client closed\n");
?>
Letzte Änderung: 18 Jun 2019 14:29 von oberp.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
19 Jun 2019 13:13 #10 von simonjo
simonjo antwortete auf Dimmersteuerung per openHAB
Thorsten,

1) the PHP libraries may fail because the STMv3 does not send correct HTTP responses, most libs fail when parsing that.

2) look again at xWRC as this uses XMLRPC to talk with STMv3. you need to make sure that the HTTP server side listens on a free port (i.e. 80, 8000, 8080) using the --locport parm. choose a free port, so not in use by another application, for you 8000 would be good

then select --remmode 1 and set --remaddr 192.168.1.2

start xwrc with --loglevel 0xffffffff so it will generate a logfile that can be analysed in case of problems

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
19 Jun 2019 19:29 - 19 Jun 2019 19:31 #11 von oberp
oberp antwortete auf Dimmersteuerung per openHAB
Hallo Jo,

ok, I will try again :)
- edit ini-File:
    httpport=8000
    loglevel=0xFFFFFFFF
    logpfx=/home/openhabian/xwrc/log/xwrc.log
    remaddr=192.168.1.2
    remport=6680
    remmode=1

- create log-file
touch ~/xwrc/log/xwrc.log
    sudo chmod 777 ~/xwrc/log/xwrc.log
- start xWRC.raspi
cd ~/xwrc
    ./bin/xwrc.raspi

    xWRC (Linux/RbPI) -- v3.3.0.9 -- Dec  8 2015 ----------- webInterface for PHC -
    ===============================================================================
    Running in demo mode
    Press CTRL+C to terminate xWRC
- check log-file:
tail -f -n200 ~/xwrc/log/xwrc.log
      (give me an empty log-file)
    ls -la ~/xwrc/log/xwrc.log
      (-rwxrwxrwx 1 openhabian openhabian 0 Jun 19 17:06 /home/openhabian/xwrc/log/xwrc.log)
- start firefox with url= "http://http://192.168.1.5:8000/default.html"
gives "Firefox kann keine Verbindung zu dem Server unter 192.168.1.5:8000 aufbauen."
    no entries in log-file

Infos:
- sudo nmap -sS -O 192.168.1.5
Starting Nmap 7.40 ( https://nmap.org ) at 2019-06-19 18:32 CEST
    Nmap scan report for openhab (192.168.1.5)
    Host is up (0.000068s latency).
    Not shown: 990 closed ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    80/tcp   open  http
    139/tcp  open  netbios-ssn
    445/tcp  open  microsoft-ds
    2001/tcp open  dc
    2002/tcp open  globe
    3306/tcp open  mysql
    8080/tcp open  http-proxy
    8443/tcp open  https-alt
    9001/tcp open  tor-orport
    Device type: general purpose
    Running: Linux 3.X
    OS CPE: cpe:/o:linux:linux_kernel:3
    OS details: Linux 3.7 - 3.10
    Network Distance: 0 hops
- sudo netstat -lptn|grep xwrc
    gives no output
- edit xwrc.ini:
    remark line "httpport= 8678"
- start xwrc.raspi with parameter
    ~/xwrc/bin/xwrc.raspi -httpport 8678

    Aktive Internetverbindungen (Nur Server)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      642/sshd            
    tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      427/mosquitto       
    tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1010/smbd           
    tcp        0      0 0.0.0.0:8678            0.0.0.0:*               LISTEN      4632/./bin/xwrc.ras 
    tcp        0      0 0.0.0.0:9001            0.0.0.0:*               LISTEN      556/node            
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      725/mysqld          
    tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1010/smbd           
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      730/lighttpd        
    tcp6       0      0 :::2001                 :::*                    LISTEN      752/homegear        
    tcp6       0      0 :::2002                 :::*                    LISTEN      752/homegear        
    tcp6       0      0 :::22                   :::*                    LISTEN      642/sshd            
    tcp6       0      0 :::8443                 :::*                    LISTEN      555/java            
    tcp6       0      0 :::1883                 :::*                    LISTEN      427/mosquitto       
    tcp6       0      0 :::445                  :::*                    LISTEN      1010/smbd           
    tcp6       0      0 127.0.0.1:41507         :::*                    LISTEN      555/java            
    tcp6       0      0 127.0.0.1:8101          :::*                    LISTEN      555/java            
    tcp6       0      0 192.168.1.5:9126        :::*                    LISTEN      555/java            
    tcp6       0      0 :::139                  :::*                    LISTEN      1010/smbd           
    tcp6       0      0 :::5007                 :::*                    LISTEN      555/java            
    tcp6       0      0 :::8080                 :::*                    LISTEN      555/java            
    tcp6       0      0 ::1:2000                :::*                    LISTEN      752/homegear        
    tcp6       0      0 :::80                   :::*                    LISTEN      730/lighttpd        
- start firefox with url= "http://http://192.168.1.5:8678/default.html"
    gives "Access Error: Site or Page Not Found Cannot open URL"
    no entries in log-file

Thanks for you help
Torsten
Letzte Änderung: 19 Jun 2019 19:31 von oberp.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum