Plugin

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • americanium
    Extension Master
    • 10.10.2016
    • 103

    #1

    Plugin

    Hallo Leute,

    ich möchte mich versuchen ein Plugin zu entwickeln und hab keine Ahnung ob ich mir das zutrauen kann. Grundsätzlich bringe ich das Verständnis der Programmierung mit. Hab vor langer Zeit mal etwas PHP programmiert. Vor allem mit Hilfe von Vorlagen verstehe ich Abläufe ganz gut.

    Mir stellt sich auf die Frage, welche bestehenden und funktionierenden Pakete gibt es bereits um das ganze zu vereinfachen.

    Meine Aufgabe wäre:

    1.) Zugriff auf externen USB Gerät mittels Konsole, senden von ein paar Befehlen und dann warten auf Antworten des Gerätes.
    2.) Das empfangene Telegramm (AES verschlüsselt) soll dann entschlüsselt werden. Die Informationen die kommen müssen dann aufgetrennt und in separate Variablen aufgetrennt werden.
    3.) Diverse Werte sollen dann per MQTT versendet werden.

    Ich denke, das für das alles bereits installierbare Pakete existieren die man nur mehr ansteuern...

    Vielleicht kann mich da jemand zu Lernzwecken unterstützen ?

    Oder denket ihr, dass es nicht machbar ist für mich ?

    Danke!

    VG

    PS: Sorry bei der Überschrift ist was schief gelaufen. Kann ich nachträglich nicht mehr ändern
    Zuletzt geändert von americanium; 10.12.2021, 07:43.
    KNX mit Gira Tastsensoren "3", MDT Wetterstation, MDT Schaltaktoren mit Strommessung, MDT Dimmaktoren, Griesser MGX-9 Raffstoresteuerung, Helios KWL - Loxone Miniserver - Raspberry Pi (Loxberry) mit HA Bridge für Amazon Echo, Gira Rauchmelder, E-Key, Fronius Symo, SDM530 Modbus Zähler + S0 für Verbrauchszweig + S0 für Wärmepumpe. In Planung: eBUS über Raspberry + FHEM
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11238

    #2

    Hi,

    Zu 1) Weiß nicht, was du mit "Konsole" meinst. Shell-Aufrufe gehen mit jeder Sprache.

    Zu 2) AES-decrypten musst du dir für deine verwendete Sprache ergoogeln, ob es dafür Funktionen oder eine Lib gibt.

    Zu 3) stehen im LoxBerry SDK fertige Funktionen für Perl und PHP zur Verfügung, bzw. kannst du jede MQTT-Lib der gewählten Sprache verwenden. Bei anderen Sprachen musst du die general.json auslesen (https://loxwiki.atlassian.net/wiki/s...gin+developers).

    Wir stellen für Perl und PHP eine Reihe von Funktionen bereit, um verschiedene Dinge zu vereinfachen (das Web-Interface bauen, die Config von LoxBerry zu lesen, Logfiles zu erstellen, Zugriff auf MQTT, ...), das ist hier dokumentiert: https://loxwiki.atlassian.net/wiki/s...722/Entwickler


    Im Grunde fängt glaube ich jeder damit an, die Basisfunktion noch ohne UI zu erstellen. Dabei achtet man darauf, dass alles, was später konfigurierbar sein muss, als Variablen vorliegt, bzw. am besten gleich ein Config-File dafür mit zu implementieren (wir verwenden zwischenzeitlich für alle Configs json-Files, die z.B. in Perl oder PHP als Einzeiler gelesen und geschrieben werden können.
    Das ist die Challenge Nr. 1, dass dein Programm mal überhaupt das tut, was es tun soll.

    Die Challenge Nr. 2 ist das Userinterface, wo dann das Konfigurationsfile gelesen und geschrieben wird, wo es für den User individuelle Einstellungen geben muss. Das UI ist von der Sprache unabhängig von dem, was du für dein Programm verwendet hast. Für Perl und PHP haben wir auch hier Funktionen, die das HTML vorbereiten, das Formular musst du dann aber selbst gestalten. Da musst du halt HTML machen, ggf. JavaScript, wenn es "ein bisschen mehr" sein soll.

    Wenn du möchtest, hole ich dich in unsere Plugin-Entwickler-WhatApp Gruppe - dafür einfach PM mit deinem Namen und deiner WhatsApp Telefonnummer.

    lg, Christian
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • Noschvie
      MS Profi
      • 24.09.2018
      • 530

      #3
      Hallo

      in welchem Script der Plugin Verzeichnisstruktur sind diese notwendigen Module einzutragen, um in einem Python Script verfügbar zu sein ?

      HTML-Code:
      sudo apt install python3 idle3
      sudo pip3 install gurux-dlms        # Library für die Übersetzung in eine XML
      sudo pip3 install beautifulsoup4    # Library beautifulsoup4
      sudo pip3 install lxml              # Library für XML Parser

      mfg, Norbert

      Kommentar


      • Liver_64
        Liver_64 kommentierte
        Kommentar bearbeiten
        1 in die apt Datei
        2-4 in die postroot.sh (damit root installiert)
    • Noschvie
      MS Profi
      • 24.09.2018
      • 530

      #4
      postroot.sh sollte auf der gleichen Ebene sein wie plugin.cfg , oder?
      danke!

      Kommentar


      • Liver_64
        Liver_64 kommentierte
        Kommentar bearbeiten
        Ja
    • Noschvie
      MS Profi
      • 24.09.2018
      • 530

      #5
      Die folgende Zeile im Script postroot.sh
      Code:
      pip3 install lxml # Library für XML Parser
      bringt den folgenden Fehler:
      Code:
      03.04.2022 18:51:20 [COLOR=black][B]INFO:[/B] Command: cd "/opt/loxberry/data/system/tmp/uploads/TnWj12jmez/loxberry-plugin-evn-p1-decrypter" && "/opt/loxberry/data/system/tmp/uploads/TnWj12jmez/loxberry-plugin-evn-p1-decrypter/postroot.sh" "TnWj12jmez" "p1decrypter" "p1decrypter" "1.2.0" "/opt/loxberry" "/opt/loxberry/data/system/tmp/uploads/TnWj12jmez/loxberry-plugin-evn-p1-decrypter"[/COLOR]
      mode of '/opt/loxberry/data/system/tmp/uploads/TnWj12jmez/loxberry-plugin-evn-p1-decrypter/postroot.sh' changed from 0644 (rw-r--r--) to 0755 (rwxr-xr-x)
      Requirement already satisfied: gurux-dlms in /usr/local/lib/python3.7/dist-packages (1.0.121)
      WARNING: You are using pip version 19.3.1; however, version 22.0.4 is available.
      You should consider upgrading via the 'pip install --upgrade pip' command.
      Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.7/dist-packages (4.10.0)
      Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.7/dist-packages (from beautifulsoup4) (2.3.1)
      WARNING: You are using pip version 19.3.1; however, version 22.0.4 is available.
      You should consider upgrading via the 'pip install --upgrade pip' command.
      Collecting lxml
      Using cached https://files.pythonhosted.org/packages/3b/94/e2b1b3bad91d15526c7e38918795883cee18b93f6785ea8ecf 13f8ffa01e/lxml-4.8.0.tar.gz
      ERROR: Command errored out with exit status 1:
      command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-2tyrtob2/lxml/setup.py'"'"'; __file__='"'"'/tmp/pip-install-2tyrtob2/lxml/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"' "', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-2tyrtob2/lxml/pip-egg-info
      cwd: /tmp/pip-install-2tyrtob2/lxml/
      Complete output (3 lines):
      Building lxml version 4.8.0.
      Building without Cython.
      Error: Please make sure the libxml2 and libxslt development packages are installed.
      ----------------------------------------
      ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      WARNING: You are using pip version 19.3.1; however, version 22.0.4 is available.
      You should consider upgrading via the 'pip install --upgrade pip' command.
      Use of uninitialized value in concatenation (.) or string at /opt/loxberry/sbin/plugininstall.pl line 1774.
      
      03.04.2022 18:51:27 [COLOR=red][B]ERROR:[/B][/COLOR] Script finished with errors. I will try to continue installation.
      Hat jemand eine Idee was hier fehlt ?
      Danke!

      Kommentar


      • Liver_64
        Liver_64 kommentierte
        Kommentar bearbeiten
        zu allererst einmal die genannten Fehler beheben. Am besten mit Putty und dann die Schritte in der postroot nachziehen
    • Gagi
      LoxBus Spammer
      • 20.01.2018
      • 291

      #6
      Dir geht wahrscheinlich libxml2-dev. Solltest du aber über apt installieren können.


      Gesendet von iPhone mit Tapatalk

      Kommentar

      Lädt...