Projektvorstellung: pmatic (Homematic + Python)

diverse Zusatzsoftware

Moderator: Co-Administratoren

LaMi
Beiträge: 16
Registriert: 09.02.2016, 20:00

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von LaMi » 28.02.2016, 13:09

Hallo zusammen,

ein kleines Update:

Ich habe die letzten Tage dazu genutzt den pmatic Manager um eine Art Scheduler zu erweitern. Man kann damit nun seine pmatic-Scripte in festgelegten Situationen Starten lassen. Aktuell sind die folgenden "Conditions" umgesetzt:
  • Starten direkt beim Start des pmatic Managers (der CCU)
  • Starten nach dem Syncrhonisieren der Geräte mit der CCU
  • Bei bestimmten Updates/Änderungen von Werten der Geräte
  • Zeitlich gesteuert (Täglich, wöchentlich, monatlich), zu bestimmten Uhrzeiten
Das lässt sich natürlich noch beliebig erweitern, ist aber für den Anfang bereits ganz nüztlich.

Eine sehr interessante Sache ist das Ausführen der Scripte.

Man kann die Scripte erst einmal ganz einfach als separate Prozesse starten lassen. Die Scripte laufen dabei komplett autark und müssen sich ggf. das CCU-Objekt selbst erzeugen um mit der CCU kommunizieren zu können.

Die Default-Option ist aber die Script "inline" auszuführen. Dabei werden die pmatic-Scripte im pmatic-Manager-Prozess ausgeführt, können somit also auch auf die bereits initialisierten Objekte des pmatic-Managers zugreifen. Da der pmatic-Manager beim Start mittlerweile alle Geräte/Kanäle der CCU initialisiert, hat man in seinen Scripten, die durch den Scheduler "inline" ausgeführt werden, direkten Zugriff auf diese bereits initialisierten Objekte. Man muss dabei nichts weiter beachten. Sobald man in seinem pmatic-Script, wie üblich, ein CCU-Objekt erzeugt, nicht einfach ein separates CCU-Objekt erzeugt, sondern im Hintergrund das existierende des pmatic-Managers weiter benutzt. Die Scripte, die man sonst per Hand aufruft, kann man so unverändert nutzen. Das spart deutlich an Laufzeit, da nicht jeder Script-Aufruf die Geräte/Kanäle der CCU neu initialisieren muss.

Ich bin auf eure Rückmeldungen gespannt!

Grüße
Lars

sdreger
Beiträge: 22
Registriert: 01.04.2014, 15:52

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von sdreger » 15.03.2016, 15:27

Hallo Lars,

ich habe eben erst Dein Projekt entdeckt.
Wie bekomme ich raus, welche ID ein Gerät oder eine Variable hat?
Hast Du hierfür einen "UseCase"?

Danke,

Stefan

MartinF hat geschrieben:Hallo Lars,
vielen Dank für deine Arbeit! Hatte schon überlegt mich selbst am Python Support für die CCU zu versuchen aber bin dann glücklicherweise auf dein hervorragendes Addon gestoßen!
Die Idee mit der generischen pmatic Bibliothek lokal und per remote mit der CCU zu kommunizieren finde ich super! Ich werde das demnächst mal genauer ausprobieren.

Bei der Installation des Addon schien der Ordner /usr/local/bin zu fehlen, dazu habe ich bei Github gerade einen Bug Report erstellt.

Einen ersten Feature-Wunsch habe ich auch schon: Systemvariablen in pmatic. Die Abfrage über api.call() klappt, aber eine Integration wie die Geräte wäre noch bequemer.

Code: Alles auswählen

import pmatic
ccu = pmatic.CCU(address="<URL>", credentials=("Admin", "<PW>"))
sys_vars = ccu.api.call('sys_var_get_all')
print sys_vars
Oder gibt es das bereits und ich habs übersehen?

Gruß
Martin

MartinF
Beiträge: 6
Registriert: 02.03.2015, 00:13

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von MartinF » 15.03.2016, 16:59

Brauchst du denn zwingend die ID?
Du kannst ein Gerät auch über seinen Namen suchen:

Code: Alles auswählen

ccu.devices.query(device_name=u"Büro-Schalter")
Siehe auch hier: https://larsmichelsen.github.io/pmatic/ ... er-actions

LaMi
Beiträge: 16
Registriert: 09.02.2016, 20:00

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von LaMi » 15.03.2016, 21:38

Hallo Stefan,
ich habe eben erst Dein Projekt entdeckt.
Wie bekomme ich raus, welche ID ein Gerät oder eine Variable hat?
Hast Du hierfür einen "UseCase"?
Was möchtest du denn erreichen? Vielleicht finden wir so eher einen Ansatz.

Grüße
Lars

sdreger
Beiträge: 22
Registriert: 01.04.2014, 15:52

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von sdreger » 16.03.2016, 07:59

Hi Lars,

ich würde gern den Status verschiedener Variabeln der CCU auf meinem Raspberry "MagicMirror" anzeigen lassen (https://www.raspberrypi.org/blog/magic-mirror/), d.h. python auf dem Raspi fragt periodisch Werte ab und zeigt diese innerhalb einer Webseite an. (Temperatur, Luftfeuchtigkeit, Läuft die Gartenbewässerung, Betriebsstunden der Brunnenpumpe etc...)

Gruß,

Stefan
LaMi hat geschrieben:Hallo Stefan,
ich habe eben erst Dein Projekt entdeckt.
Wie bekomme ich raus, welche ID ein Gerät oder eine Variable hat?
Hast Du hierfür einen "UseCase"?
Was möchtest du denn erreichen? Vielleicht finden wir so eher einen Ansatz.

Grüße
Lars

Benutzeravatar
jmaus
Beiträge: 9862
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1880 Mal
Kontaktdaten:

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von jmaus » 16.03.2016, 15:30

sdreger hat geschrieben:ich würde gern den Status verschiedener Variabeln der CCU auf meinem Raspberry "MagicMirror" anzeigen lassen (https://www.raspberrypi.org/blog/magic-mirror/), d.h. python auf dem Raspi fragt periodisch Werte ab und zeigt diese innerhalb einer Webseite an. (Temperatur, Luftfeuchtigkeit, Läuft die Gartenbewässerung, Betriebsstunden der Brunnenpumpe etc...)
Wenn du uns verrätst woher die den halbdurchsichtigen Spiegel bezogen hast und wie du das ganze zusammengebastelt hast usw. dann können wir dir das sicher verraten ;)
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

LaMi
Beiträge: 16
Registriert: 09.02.2016, 20:00

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von LaMi » 16.03.2016, 18:31

Raspberry "MagicMirror" anzeigen lassen (https://www.raspberrypi.org/blog/magic-mirror/),
uuuh, geiles Teil. EIne gute Idee für ein nächstes DIY-Projekt :-). Und das mit dem Glas würde mich auch sehr interessieren.
ich würde gern den Status verschiedener Variabeln der CCU auf meinem Raspberry "MagicMirror" anzeigen lassen
Schau dir am Besten mal die Beispiele unter https://larsmichelsen.github.io/pmatic/ ... usage.html und https://github.com/LarsMichelsen/pmatic ... r/examples an. Anschließend kannst du dir noch die API-Doku z.b. von ccu.devices.query() angucken (https://larsmichelsen.github.io/pmatic/ ... ices.query).

LaMi
Beiträge: 16
Registriert: 09.02.2016, 20:00

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von LaMi » 16.03.2016, 19:27

Übrigens zum Thema Glas, habe ich hier etwas gefunden: http://www.glas-per-klick.de/spiegel-an ... iegel.html
Das war von hier verlinkt: http://konkludenz.de/smart-mirror-hardware/

JoeHMS
Beiträge: 340
Registriert: 28.02.2012, 11:09
Danksagung erhalten: 1 Mal

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von JoeHMS » 16.03.2016, 21:20

Hallo,

das ist wirklich ein klasse Projekt! Respekt!
Ich versuche das gerade auf meiner neu eingerichteten LXCCU auf Raspi1, produktiv habe ich noch ne CCU1 :roll: .
Allerdings scheint da die Installation nicht richtig zu laufen, der pmatic_manager ist nicht erreichbar?!
Sollte doch auf der LXCCU auch gehen oder muss ich etwas besonderes beachten?
Habe die stable installiert.
CCU3( 3.47.22 piVCCU3) auf RasPi4 * Wired * CUXD(2.3.3) mit CUL868 (v1.66), 1 Wire USB FTDI * Redmatic * Synology mit ccu-historian spk (V2.3.0) * ccu.io(1.0.51) * dashui(0.9beta120) openHAB 2.5.0 mit auf RasPI 4
-------------------------------------------------------------------------------------------------------------------
132 Kanäle in 38 Geräten und 140 CUxD-Kanäle in 21 CUxD-Geräten

grissli1
Beiträge: 2268
Registriert: 22.06.2012, 17:46
System: Alternative CCU (auf Basis OCCU)
Wohnort: Tirol/Austria
Hat sich bedankt: 13 Mal
Danksagung erhalten: 2 Mal

Re: Projektvorstellung: pmatic (Homematic + Python)

Beitrag von grissli1 » 17.03.2016, 08:53

Warum nimmst du die alte stable und nicht die neue vom Testing Repository?
"Unstable" gibt es bei der LXCCU nicht wirklich sondern es ist einfach zuerst ein Test, der dann auch bei stabilem Betrieb bleibt bis eine neue FW kommt.

Nimm also das Testing Repository.

Viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3

Antworten

Zurück zu „Sonstige Addons“