Addon Generierung automatisieren

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

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: Addon Generierung automatisieren

Beitrag von FUEL4EP » 07.04.2021, 18:02

Hi Jérôme,

ich habe die Namensgebung vereinheitlicht. Ein V1.6 uninstall Skript macht einen V1.6 install Skript rückgängig. Der V1.7 uninstall Skript tut das nicht mehr in Gänze. Er passt nur zum V1.7 install Skript. Ohne diese Abfolge würden mehr 'Waisenkinder'-Einträge übrigbleiben.


Du hattest ja in Deiner V5.0 Pre-Release ähnliches geschrieben :D

In der Tat hatte ich in den händisch erzeugten Skripten kleinere Unzulänglichkeiten :( . Die automatische Generierung zeigt diese Fehler beim 'diff -w' auf.
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: Addon Generierung automatisieren

Beitrag von jp112sdl » 07.04.2021, 18:09

Und das soll auch so?

hb-uni-sensor-AQ-BME680
Vorher:

Code: Alles auswählen

webuiInsertParam="ALTITUDE_ABOVE_SEA_LEVEL"
webuiInsertValue="stringTableHBAltitudeAboveSealevel"
Jetzt:

Code: Alles auswählen

webuiInsertParam="H%F6he%20%FCber%20NN"
webuiInsertValue="stringTableHBAltitudeAboveSealevel"
In der XML steht nach wie vor

Code: Alles auswählen

    <parameter id="ALTITUDE_ABOVE_SEA_LEVEL">
      <logical type="integer" min="0" max="10000" default="0" unit="m" />
      <physical type="integer" interface="config" list="0" index="34" size="2" />
    </parameter>
    
War jetzt nur eine Stichprobe.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: Addon Generierung automatisieren

Beitrag von jp112sdl » 07.04.2021, 18:10

FUEL4EP hat geschrieben:
07.04.2021, 18:02
Du hattest ja in Deiner V5.0 Pre-Release ähnliches geschrieben :D
Ja, weil das ausschließlich Auswirkungen auf patch hat. :wink:
Mit sed ist das eigentlich egal. Spätestens wenn jemand ein CCU FW Update macht, ist der alte Kram eh weg

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

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: Addon Generierung automatisieren

Beitrag von FUEL4EP » 07.04.2021, 18:23

jp112sdl hat geschrieben:
07.04.2021, 18:09
Und das soll auch so?

hb-uni-sensor-AQ-BME680
Vorher:

Code: Alles auswählen

webuiInsertParam="ALTITUDE_ABOVE_SEA_LEVEL"
webuiInsertValue="stringTableHBAltitudeAboveSealevel"
Jetzt:

Code: Alles auswählen

webuiInsertParam="H%F6he%20%FCber%20NN"
webuiInsertValue="stringTableHBAltitudeAboveSealevel"
In der XML steht nach wie vor

Code: Alles auswählen

    <parameter id="ALTITUDE_ABOVE_SEA_LEVEL">
      <logical type="integer" min="0" max="10000" default="0" unit="m" />
      <physical type="integer" interface="config" list="0" index="34" size="2" />
    </parameter>
    
War jetzt nur eine Stichprobe.
Du beziehst Dich auf die rftypes XML. In der Tat erscheint im WebUI noch 'ALTITUDE_ABOVE_SEA_LEVEL', wird also nicht übersetzt. Ich habe mich schon gewundert, warum das so ist. Muss ich denn im rftypes XML dann

Code: Alles auswählen

    <parameter id="H%F6he%20%FCber%20NN">
      <logical type="integer" min="0" max="10000" default="0" unit="m" />
      <physical type="integer" interface="config" list="0" index="34" size="2" />
    </parameter>
 
verwenden? Der jetzige Generator V0.92 erzeugt oder verändert die rftypes XML nicht, d.h. sie blieb unverändert. Auch eine Konsistenzprüfung wird noch nicht gemacht. Auch die rftypes XML (konsistent) zu erzeugen ist Zukunftsmusik.

P.S:: Es fehlt einfach eine gute Dokumentation, wie all diese Parameter zusammenhängen.
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: Addon Generierung automatisieren

Beitrag von jp112sdl » 07.04.2021, 18:28

FUEL4EP hat geschrieben:
07.04.2021, 18:23
Muss ich denn im rftypes XML dann
Bitte bitte verwende keine encodierten Umlaute etc in der XML!

Das Zeug wird über die XMLRPC Schnittstelle allen Diensten angeboten. Das gibt nur Murks. Das steht dann genau so auch z.B. in ioBroker
Einfach bei der alten Variante bleiben. So wie es eQ-3 eh und je macht. Ohne Schnörkel, Leerzeichen etc.
Dafür gibt es ja die Übersetzungs-Files.
FUEL4EP hat geschrieben:
07.04.2021, 18:23
wird also nicht übersetzt.
Ist das nicht bei TRANSMIT_TIME_INTERVAL direkt darunter auch so?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: Addon Generierung automatisieren

Beitrag von jp112sdl » 07.04.2021, 18:36

Ich glaub das zieht sich durchs ganze Addon.
Geräte-XML (korrekt)

Code: Alles auswählen

        <parameter id="VAPOR_CONCENTRATION" operations="read,event">
...
        </parameter>
Addon (falsch):

Code: Alles auswählen

# datapoint name #4: WEATHER|VAPOR_CONCENTRATION
 
webuiInsertParam="WEATHER|Abs.%20Luftfeuchtigkeit"
webuiInsertValue="stringTableHBVaporConcentration"
...

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

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: Addon Generierung automatisieren

Beitrag von FUEL4EP » 07.04.2021, 18:40

Heißt das, dass alle webuiInsertParam keine encodierten Umlaute enthalten dürfen?

Code: Alles auswählen

webuiInsertParam="H%F6he%20%FCber%20NN"
muss also

Code: Alles auswählen

webuiInsertParam="Höhe über NN"
sein? Also mit Leerzeichen und Originalumlaut? Oder HTML4 Name encodiert?


Ist das nicht bei TRANSMIT_TIME_INTERVAL direkt darunter auch so?
Ja, dito.

Drum auch hier die Frage: Wie findet der Übersetzungsvorgang statt?
Mein, vielleicht falsches Verständnis: Im rftypes XML verwende ich immer englische Namen, die dann über die insert-Skripeinträge ins Deutsche übersetzt werden.
Bitte zeige mir an einem Beispiel auf, wie das korrekt geht. Danke im Voraus!
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

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: Addon Generierung automatisieren

Beitrag von FUEL4EP » 07.04.2021, 18:44

jp112sdl hat geschrieben:
07.04.2021, 18:36
Ich glaub das zieht sich durchs ganze Addon.
Geräte-XML (korrekt)

Code: Alles auswählen

        <parameter id="VAPOR_CONCENTRATION" operations="read,event">
...
        </parameter>
Addon (falsch):

Code: Alles auswählen

# datapoint name #4: WEATHER|VAPOR_CONCENTRATION
 
webuiInsertParam="WEATHER|Abs.%20Luftfeuchtigkeit"
webuiInsertValue="stringTableHBVaporConcentration"
...

Ja, das mach der groovy-Skript ja immer gleich:

Code: Alles auswählen

webuiInsert_buffer.append( "webuiInsertParam=\"${my_device_class}${toEncode.encodeURL()}\"\n" )
Muss das encodeURL() weg?
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: Addon Generierung automatisieren

Beitrag von jp112sdl » 07.04.2021, 18:47

Aber du hattest es doch bis Version 1.6 alles richtig und musst nur dafür Sorge tragen, dass dein Automat nun das selbe erzeugt, wie du es bereits erfolgreich manuell gemacht hast.

FUEL4EP hat geschrieben:
07.04.2021, 18:40
Heißt das, dass alle webuiInsertParam keine encodierten Umlaute enthalten dürfen?
webuiInsertParam="ALTITUDE_ABOVE_SEA_LEVEL"
ist die id des Parameters aus der Geräte XML
<parameter id="ALTITUDE_ABOVE_SEA_LEVEL">

Das soll da auch weiterhin so stehen.

nix mit auf einmal
webuiInsertParam="H%F6he%20%FCber%20NN"
oder
webuiInsertParam="Höhe..."

Nicht das Rad neu erfinden oder alles infrage stellen. Es war bis einschließlich V1.6 gut

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

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: Addon Generierung automatisieren

Beitrag von FUEL4EP » 07.04.2021, 19:19

Hi Jérôme,

danke für Deine Prüfung und Fehlerhinweise. Ich habe die V1.7 Release auf Github gelöscht. Du hast Recht, ich muss da nochmals ran.

Also Dein Feedback zusammengefasst:
webuiInsertParam="ALTITUDE_ABOVE_SEA_LEVEL"
ist die id des Parameters aus der Geräte XML
<parameter id="ALTITUDE_ABOVE_SEA_LEVEL">
webuiInsertParam="<id_name>" muss immer zum entsprechenden rftypes XML parameter id passen:

Code: Alles auswählen

 <parameter id="<id_name>">
      <logical type="integer" min="0" max="10000" default="0" unit="m" />
      <physical type="integer" interface="config" list="0" index="34" size="2" />
</parameter>
Dabei keine Sonderzeichen verwenden. <id_name> nicht encodieren.

Ich melde mich wieder nach dem Umbau des Generators und der XML Konfigurationsdateien.
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“