RocCtrl: Python Admin Utility

RocCtrl: Python Admin Utility

Postby rjversluis » 02.12.2017, 18:37

Moin,

weil Python schon standard bei Raspbian drin ist, und es das RCP gibt, habe ich mal ein kleines Utility angefangen wo die wichtigste Server Funktionen bedient werden können wenn es fertig ist.
Screen Shot 2017-12-02 at 18.32.53.png

Ich habe viel suchen müssen in Internet, und vieles ausprobiert, wie man ordentlich kommunizieren kann.
Es klappt jetzt endlich, und auch das Async auswerten von Server Meldungen wird so gehen.

Was man da noch alles rein packen kann... Mal sehen.

Wer GitLab Zugang hat findet es unter
Code: Select all
Rocrail/python/rocctrl/rocctrl.py


Warum nicht Rocweb? Weil es sich hier um ein Admin Tool handelt welche einfach und direkt ist.
You do not have the required permissions to view the files attached to this post.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: RocCtrl: Python Admin Utility

Postby rjversluis » 03.12.2017, 11:37

Moin,

460x300 pixel groß:
rocctrl-raspi-en.png
You do not have the required permissions to view the files attached to this post.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: RocCtrl: Python Admin Utility

Postby Liviu M » 03.12.2017, 13:43

Hi Rob,

das Skript funktioniert nur mit Python 2.x. Ich habe ein bisschen gespielt (lerne gerade etwas Python und habe geübt :mrgreen: ) und jetzt läuft auch im Python3. Soll ich die Änderungen dir schicken, oder brauchst du die nicht?

Grüße,
Liviu
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: RocCtrl: Python Admin Utility

Postby rjversluis » 03.12.2017, 14:14

Hi Liviu,

hänge es bitte hier mal an.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: RocCtrl: Python Admin Utility

Postby Liviu M » 03.12.2017, 14:17

Hi Rob,

bitteschön!

Liviu
You do not have the required permissions to view the files attached to this post.
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: RocCtrl: Python Admin Utility

Postby rjversluis » 03.12.2017, 14:23

Hi Liviu,

ich hatte es jetzt auch schon unter Python 3 laufen, aber dann läuft es unter 2 nicht mehr... :(
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: RocCtrl: Python Admin Utility

Postby rjversluis » 03.12.2017, 14:35

OK, jetzt läuft es unter 2 und 3... (Blöd)

Kannst du mal testen?
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: RocCtrl: Python Admin Utility

Postby Liviu M » 03.12.2017, 14:41

Hi Rob,
ich habe nicht viel getestet - nur Rocrail Server und Rocctrl gestartet und gesehen, dass Rocctrl mit beide Pythons gleich Meldungen in die Terminal zeigen.
Power On mit Python2:
Code: Select all
liviu@g510lin:~/Rocrail/python/rocctrl> python2 rocctrl.py
Add connect widgets...
Add control buttons...
Add default buttons...
Pack frames...
Start loop...
doConnect: localhost
doSysCmd: go
doSend: <sys cmd="go"/>
doRead...
doEvaluate:
<?xml version="1.0" encoding="UTF-8"?>
<xmlh>
  <xml size="55"/>
</xmlh><exception text="system GO" level="16384" id="9999"/>

doException:
system GO" level="16384" id="9999"/>

system GO


Power On Python 3:
Code: Select all
liviu@g510lin:~/Rocrail/python/rocctrl> python3 rocctrl.py
Add connect widgets...
Add control buttons...
Add default buttons...
Pack frames...
Start loop...
doConnect: localhost
doSysCmd: go
doSend: <sys cmd="go"/>
doRead...
doEvaluate:
<?xml version="1.0" encoding="UTF-8"?>
<xmlh>
  <xml size="55"/>
</xmlh><exception text="system GO" level="16384" id="9999"/>

doException:
system GO" level="16384" id="9999"/>

system GO


Tante Edith: das ist mit meiner Variante. Teste gleich mit deiner.
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: RocCtrl: Python Admin Utility

Postby rjversluis » 03.12.2017, 14:50

Hi,

die console Ausgabe ist debug info.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: RocCtrl: Python Admin Utility

Postby Liviu M » 03.12.2017, 14:55

Hi Rob,

deine Variante tut auch. :)
Gleiche Konsole-Ausgabe, meine ich.

Grüße,
Liviu
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: RocCtrl: Python Admin Utility

Postby Liviu M » 03.12.2017, 19:30

Hi Rob,
nach alle Buttons außer EoD die Verbindung Rocctrl <-> bleibt, nach dem EoD:
- Server ist heruntergefahren
- Rocctrl schreibt ununterbrochen
Code: Select all
doRead...
doEvaluate:

in die Konsole und ist nicht mehr "ansprechbar", auch nicht nach Serverstart. Einen "normalem" Verhältnis bekommt man nur nach herunterfahren/Neustart beider Programme.
Ich weiß nicht ob du es so haben wolltest haben, ich hatte mich erwartet, dass nach dem Server Restart die Verbindung wieder hergestellt zu sein und "normal" weiter zu laufen.
Falls das nicht möglich (oder zu kompliziert) ist, wurde ich vorschlagen, nach dem EoD nicht nur der Server sondern auch Rocctrl runter zu fahren.

Liviu
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: RocCtrl: Python Admin Utility

Postby rjversluis » 03.12.2017, 19:46

Hi Liviu,

das Skript ist erst 2 Tagen alt...
Da kann man nicht erwarten das alles reibungslos funktioniert.
Die meiste Zeit habe ich verbraten mit Try/Google/Error/Try... :)

Das es so ein Bruch gibt zwischen Python 2 und 3 hat mein Begeisterung ein wenig gedämpft.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: RocCtrl: Python Admin Utility

Postby Liviu M » 03.12.2017, 21:41

Hi Rob,
sorry, wollte nicht als "meckern" klingen, sondern als "Verbesserungsvorschlag".

Liviu
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: RocCtrl: Python Admin Utility

Postby rjversluis » 03.12.2017, 22:04

Hi Liviu,
Liviu M wrote:sorry, wollte nicht als "meckern" klingen, sondern als "Verbesserungsvorschlag".

ja, das war mir auch bewusst. ;)
Jetzt wird es ordentlich abgebaut. Bei EoD sollte auch der Rechner heruntergefahren werden, so dann macht es wenig Sinn zu warten bis der Rocrail Server wieder da ist. :)
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: RocCtrl: Python Admin Utility

Postby rjversluis » 04.12.2017, 10:26

Moin,

jetzt gibt es zwei Seiten: System und Automat.
2017-12-04-102425_464x355_scrot.png

Mit hilfe von Buttons "System" und "Automate" kann man schnell wechseln.
You do not have the required permissions to view the files attached to this post.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Next

Return to Raspberry Pi (DE)

cron