Projektvorstellung: pmatic (Homematic + Python)

diverse Zusatzsoftware

Moderator: Co-Administratoren

nepion
Beiträge: 2
Registriert: 27.02.2017, 07:18

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von nepion » 27.02.2017, 07:28

Hallo zusammen,

ein sehr schöner Projektansatz - gefällt mir ausgesprochen gut! Einfache Beispiele zur Ansteuerung habe ich problemlos auf Anhieb hinbekommen.

Wo es bei mir leider noch nicht rund läuft ist das Event-Handling:

Code: Alles auswählen

import pmatic
ccu = pmatic.CCU(address="http://192.168.x.x", credentials=("xxx", "yyy"))
pmatic.logging("INFO")

devices = ccu.devices.query(device_type=["HM-Sec-SC"])
print(len(devices))


def print_summary_state(param):
    print("%s" % param.channel.device.name)

devices.on_value_updated(print_summary_state)

if not devices:
    print("Found no devices. Terminating.")
else:
    print("Waiting for changes...")

    ccu.events.init()
    print("Init done.")

    ccu.events.wait()
    ccu.events.close()
führt zur folgenden Fehlermeldung:

2017-02-27 07:23:05,566 [ERROR] Exception in XML-RPC call newDevices('pmatic-0', ...):
Traceback (most recent call last):
File "/usr/lib/python3.4/xmlrpc/server.py", line 392, in _dispatch
func = self.funcs[method]
KeyError: 'newDevices'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/pmatic/events.py", line 349, in _dispatch
return func(*params)
File "/usr/local/lib/python3.4/dist-packages/pmatic/events.py", line 464, in newDevices
spec = normalize_spec(spec)
File "/usr/local/lib/python3.4/dist-packages/pmatic/events.py", line 444, in normalize_spec
new_key = key.lower().decode("utf-8")
AttributeError: 'str' object has no attribute 'decode'

Das Programm läuft dann zwar und reagiert auch auf Events - die Fehlermeldung würde ich aber trotzdem gerne wegbekommen (oder zumindest verstehen).

Hat diesbezüglich vielleicht jemand einen Tipp für mich?

Dankeschön! :D

nepion
Beiträge: 2
Registriert: 27.02.2017, 07:18

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von nepion » 28.02.2017, 20:41

Nachtrag: Keine Probleme mit Python 2.7 - da läuft das gleiche Programm fehlerlos durch!
Falls möglich, würde ich gerne Python 3.x verwenden, habt ihr da Ideen?
Dankeschön!

raulix
Beiträge: 8
Registriert: 22.12.2016, 22:39

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von raulix » 28.02.2017, 22:03

Hallo zusammen,

also ich war zuerst auch schwer begeistert.

Aber dann sah die Laufzeiten der Scripte auf meiner CCU2 und meine Begeisterung für pmatic etwas eingetrübt. Zum Beispiel 3 Minuten für das Auslesen der Räume. Nun ist ja die Performance der CCU2 bekanntermaßen nicht so dolle.

Läuft pmatic auch auf RasberryMatic? Sind die Scripte dort spürbar schneller?

Danke.

Willy_Elv
Beiträge: 70
Registriert: 08.12.2016, 21:39
Hat sich bedankt: 4 Mal
Danksagung erhalten: 11 Mal

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von Willy_Elv » 13.03.2017, 23:24

Hallo zusammen,

finde das Projekt auch sehr interessant. Deshalb habe ich auch versucht, das SW-Paket auf meinen Raspberry Pi 2/Jessie zu installieren (will von da über LAN auf meine CCU2 zugreifen und ein paar Variable zwischen den Rechnern austauschen).

Leider bin ich aber unter Linux immer noch ein hoffnungloser Newby und hab's nicht geschafft.

Die Variante mit "pip" ging gar nicht - egal.

Dann habe ich's über manuelles Laden der SW in /home/pi/pmatic-0.6 versucht.
Der Befehl "sudo python setup.py install" schien funktioniert zu haben, aber
der Test mit "python -c 'import pmatic'" brachte folgende Fehlermeldungen:
pmatic1.JPG
Diese kommen übrigens auch, wenn ich "import pmatic" in ein beliebiges python script reinschreibe ...
pmatic2.JPG
Any ideas?

Ich bin ziemlich ratlos und für jede Hilfe dankbar!

Gruß,

Willy_Elv
Zentrale "Charly" mit Raspberry Pi 3
RaspberryMatic 3.57.4.20210320 - oder neuer
jede Menge Sensoren und Aktoren (Rolladensteuerung, Wetter- / Helligkeitssensoren, Heizungssteuerung, etc..)

Willy_Elv
Beiträge: 70
Registriert: 08.12.2016, 21:39
Hat sich bedankt: 4 Mal
Danksagung erhalten: 11 Mal

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von Willy_Elv » 18.03.2017, 19:39

Problem gelöst! Das ist ein seit 2014 bekannter "PIP" Fehler den man auf dem RASPI mit "easy_install" (siehe Internet) beheben kann.

Allerdings werde ich pmatic vermutlich nicht verwenden da ein Zugriff vom Raspi auf die CCU2 nur um 1 Byte abzuholen
unter pmatic ca 2 sek dauert !!!

Mit "requests" dauert dasselbe 40 ms !

Willy_Elv
Zentrale "Charly" mit Raspberry Pi 3
RaspberryMatic 3.57.4.20210320 - oder neuer
jede Menge Sensoren und Aktoren (Rolladensteuerung, Wetter- / Helligkeitssensoren, Heizungssteuerung, etc..)

zap
Beiträge: 66
Registriert: 05.12.2014, 17:57

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von zap » 02.06.2017, 14:35

Wozu braucht man auf nem Raspi pmatic?

Linux hat "native" Python Unterstützung. Auf die Raspimatic greift man dann z.B. per XML-RPC zu. Das sollte auch performant sein.

Netzgauner
Beiträge: 2
Registriert: 12.08.2017, 00:30

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von Netzgauner » 12.08.2017, 00:39

Hi.
Habe genau das beschriebene Problem aber mit ubuntu 16.04 am PC.

Kann da jemand weiterhelfen ?
Dateianhänge
2017-08-12 16_28_03-UBUNT 16.4.3 LTS [wird ausgeführt] - Oracle VM VirtualBox.jpg
Zuletzt geändert von Netzgauner am 12.08.2017, 16:29, insgesamt 1-mal geändert.

Netzgauner
Beiträge: 2
Registriert: 12.08.2017, 00:30

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von Netzgauner » 12.08.2017, 04:45

Hallo.
Kann pmatic auch auf RaspberryMatic installiert werden?

Benutzeravatar
FUEL4EP
Beiträge: 586
Registriert: 01.11.2017, 17:26
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 76 Mal
Danksagung erhalten: 78 Mal
Kontaktdaten:

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von FUEL4EP » 01.11.2017, 17:42

Hallo,

der Versuch, die Taupunkte fuer verschiedene Temperatur/Feuchtefühler mit diesem Skript auszugeben,

Code: Alles auswählen

#!/usr/bin/env python
# encoding: utf-8

import pmatic
import pmatic.utils as utils


ccu = pmatic.CCU(address="http://192.168.XXX.YYY", credentials=("Admin", "XYZ"))


for device in ccu.devices.query(device_type="HM-WDS40-TH-I-2"):

     temperature = device.temperature
     humidity = device.humidity
     dew_point = utils.dew_point(temperature,humidity)
     print '%-30s: %-10s   %-10s, Dew point: %0.1f °C' % (device.name, device.temperature, device.humidity, dew_point)
ergibt diese Fehlermeldungen:
python list_dew_points.py
Traceback (most recent call last):
File "list_dew_points.py", line 15, in <module>
dew_point = utils.dew_point(temperature,humidity)
File "/usr/local/lib/python2.7/dist-packages/pmatic/utils.py", line 362, in dew_point
/ (k2 * k3 / (k3 + temperature) - log(humidity))
TypeError: unsupported operand type(s) for *: 'float' and 'ParameterFLOAT'
Weiss jemand Rat, wie das ohne Fehlermeldung geht?

Vielen Dank!

Gruß

Ewald

Zetzi
Beiträge: 174
Registriert: 27.05.2011, 16:09
Wohnort: Kiel
Danksagung erhalten: 1 Mal

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von Zetzi » 17.03.2018, 19:51

Hallo,

Nur ne einfache Frage geht pmatic auch mit RaspberryMatic? oder habe ich was überlesen ?
gruß
zetzi

Antworten

Zurück zu „Sonstige Addons“