Example #1
0
    def runConfig(conf: conf.BasicConfig, logger:logging.Logger):
        from Tools import ConsoleInputTools
        print("Pins standartmäßig nach BCM schema (gpiozero angaben gestattet)")

        conf["rpiDoor/unlockPin"] = ConsoleInputTools.get_input("Pinnummer der entsperrung ", 17)
        conf["rpiDoor/relayPulseLength"] = ConsoleInputTools.get_number_input("Wie viele ms soll das Relais gehalten werden?", 250)
        conf["rpiDoor/openedPin"] = ConsoleInputTools.get_input("Pinnummer für Offen/Geschloßen", 27)
        conf["rpiDoor/closedPinHigh"] = ConsoleInputTools.get_bool_input("Tür zu = in high?")
        conf["rpiDoor/name"] = ConsoleInputTools.get_input("Sichtbarer Name")
Example #2
0
 def run(self):
     from Tools import ConsoleInputTools as cit
     self.c["DHT/dev/pin"] = cit.get_number_input(
         "Pin Nummer von Datenpin? ", 22)
     self.c["DHT/dev/type"] = cit.get_input(
         "DHT Type? Möglich ist 11 22 2302 ", "22")
     self.c["DHT/name"] = cit.get_input("Name für Hass ", True, "DHT")
     self.c["DHT/update_seconds"] = cit.get_number_input(
         "Wie oft soll gemessen werden? ", 60)
Example #3
0
 def run(self):
     from Tools import ConsoleInputTools
     from Mods.victron.plugin import VeDirectPlugin
     self.c["name"] = ConsoleInputTools.get_input(
         "Gerätename überschreiben?. \n-> ",
         require_val=False,
         std_val=None)
Example #4
0
 def runConfig(conf: Config.BasicConfig, logger: logging.Logger):
     c = Config.PluginConfig(conf, PluginLoader.getConfigKey())
     c["dev"] = ConsoleInputTools.get_input("Serial Device Pfad: ",
                                            require_val=True,
                                            std_val="/dev/ttyACM0")
     c["tp"] = [[0, 0], [50, 30], [60, 50], [75, 75], [80, 100]]
     c["provider"] = "rpiCPUtemp"
Example #5
0
 def run(self):
     from Tools import ConsoleInputTools as cit
     self.c["rPiUndervoltage/name"] = cit.get_input(
         "Unter welchem Namen soll die Strom unterfversorgung angegeben werden. \n-> ",
         require_val=True,
         std_val="Undervoltage")
     self.c["rPiUndervoltage/checks"] = cit.get_number_input(
         "Wie oft soll getestet werden (Sekunen)?= ", 1)
Example #6
0
 def run(self):
     from Tools import ConsoleInputTools as cit
     self.c["name"] = cit.get_input(
         "Unter welchem Namen soll der LED Streifen angegeben werden. \n-> ",
         require_val=True,
         std_val="WS2812B")
     self.c[""] = cit.get_number_input(
         "Wie oft soll getestet werden (Sekunen)?= ", 1)
Example #7
0
 def run(self):
     from Tools import ConsoleInputTools as cit
     self.c["rpiCPUtemp/name"] = cit.get_input(
         "Unter welchem Namen soll die CPU Temperatur angegeben werden. \n-> ",
         require_val=True,
         std_val="CPU Temperatur")
     self.c["rpiCPUtemp/diff"] = cit.get_number_input(
         "Wie viel muss sich die Temperatur ändern, um neue Temperatur zu senden= ",
         0.5)
Example #8
0
    def getNewDeviceEntry():
        from Tools import ConsoleInputTools
        config = {}
        name = ConsoleInputTools.get_input("Name für den Eintrag?")
        config["type"] = "switch" if ConsoleInputTools.get_bool_input(
            "Soll der eintrag als Schalter fungieren?", False) else "action"
        config["confirm"] = ConsoleInputTools.get_bool_input(
            "Auswählen des Eintrages bestätigen?", False)

        return name, config
Example #9
0
 def run(self):
     from Tools import ConsoleInputTools as cit
     self.c["GrowFingerprint/name"] = cit.get_input("Unter welchem Namen soll der Fingerprint sensor bekannt sein. \n-> ", require_val=True, std_val="Fingerprint")
     self.c["GrowFingerprint/WAKEUP"] = cit.get_number_input("WAKEUP Pinnr:", 0)
     if self.c["GrowFingerprint/WAKEUP"] > 0:
         self.c["GrowFingerprint/WAKEUP_active_secs"] = cit.get_number_input("Sekunden die Aktiv auf Finger gewartet wird, nach einem WAKEUP?\n ->", 30)
     if cit.get_bool_input("Fingerprint Modul Passwort ändern? ", False):
         if cit.get_bool_input("Zufälliges Passwort erstellen?", False):
             import random
             sysr = random.SystemRandom()
             bits = sysr.getrandbits(32)
             self.c["GrowFingerprint/new_pw"] = bits
         else:
             self.c["GrowFingerprint/new_pw"] = cit.get_number_input("Bitte 32Bit Passwort eingeben: ", 0x00000000)
Example #10
0
    def runConfig(conf: conf.BasicConfig, logger: logging.Logger):
        from Tools import ConsoleInputTools

        rpin = ConsoleInputTools.get_number_input(
            "Pin Nummer des Taster Relais ", 22)
        delay = ConsoleInputTools.get_number_input(
            "Wie viele ms soll das Relais gehalten werden?", 250)

        apin = ConsoleInputTools.get_number_input(
            "Pin Nummer des ALERT Signals", 33)
        addr = ConsoleInputTools.get_number_input("Addresse des ADC", 0x49)
        gain = ConsoleInputTools.get_number_input("GAIN für ADC", 1)
        readings = ConsoleInputTools.get_number_input(
            "Wie oft soll ADC gelesen werden, bevor aktion durchgeführt wird?",
            2)

        print(
            "Jetzt kommt die Positions abfrage. \nWenn Kanal nicht bnutzt nur enter drücken.\n"
        )
        pos0 = ConsoleInputTools.get_number_input("Position für 1 Kanal", -1)
        pos1 = ConsoleInputTools.get_number_input("Position für 2 Kanal", -1)
        pos2 = ConsoleInputTools.get_number_input("Position für 3 Kanal", -1)
        pos3 = ConsoleInputTools.get_number_input("Position für 4 Kanal", -1)

        door_open_time = ConsoleInputTools.get_number_input(
            "Wie lange braucht das Tor von zu bis auf oder umgekehrt maximal?\n>",
            15)
        door_open_retry = ConsoleInputTools.get_number_input(
            "Wie oft soll versucht werden das Tor in die Position zu bringen?\n>",
            3)
        name = ConsoleInputTools.get_input("Wie heißt das Tor?",
                                           require_val=True)

        conf["PiGarage/relayPin"] = rpin
        conf["PiGarage/relayPulseLength"] = delay
        conf["PiGarage/Hall/ALERT_PIN"] = apin
        conf["PiGarage/Hall/ADC_ADDR"] = addr
        conf["PiGarage/Hall/GAIN"] = gain
        conf["PiGarage/Hall/adc_readings"] = readings
        conf["PiGarage/Hall/Channels_Position"] = [pos0, pos1, pos2, pos3]
        conf["PiGarage/Hall/max_move_time"] = door_open_time
        conf["PiGarage/Hall/max_move_retrys"] = door_open_retry
        conf["PiGarage/name"] = name

        do_calib = ConsoleInputTools.get_bool_input(
            "Kalibration jetzt starten?", True)
        if do_calib:
            PluginLoader.runCalibrationProcess(conf, logger)
Example #11
0
    def configure(self, config: tc.BasicConfig):
        host = ConsoleInputTools.get_input("Broadcast Addresse: ",
                                           std_val="255.255.255.255")
        port = ConsoleInputTools.get_number_input("Port: ", 50222)
        events = ConsoleInputTools.get_bool_input("Wetter events senden? ",
                                                  True)
        dereg = ConsoleInputTools.get_bool_input(
            "Remove existing from MQTT Autodiscovery?", False)

        config["Weatherflow/broadcast_addr"] = host
        config["Weatherflow/broadcast_port"] = port
        config["Weatherflow/events"] = events

        if dereg:
            config["Weatherflow/deregister"] = dereg
            print("Beim nächsten normalen Start wird alles deregestriert!")
Example #12
0
    def configure(self, conff: conf.BasicConfig, logger: logging.Logger):
        from Tools import ConsoleInputTools
        conf = conff.PluginConfig(conff, "logind")

        conf["allow_power_off"] = ConsoleInputTools.get_bool_input(
            "\nErlaube Ausschalten: ", True)
        conf["allow_suspend"] = ConsoleInputTools.get_bool_input(
            "\nErlaube Bereitschaftsmodus: ", True)
        conf["allow_reboot"] = ConsoleInputTools.get_bool_input(
            "\nErlaube Neustarten: ", True)
        conf["allow_inhibit"] = ConsoleInputTools.get_bool_input(
            "\nErlaube Blockieren von Schlafmodus: ", True)
        if ConsoleInputTools.get_bool_input("\nBenutze anderen Namen: ", True):
            conf["custom_name"] = ConsoleInputTools.get_input(
                "\nDen Namen Bitte: ", True)
        conf["inactivity_ms"] = ConsoleInputTools.get_number_input(
            "\nInaktivität nach x Millisekunden: ")
Example #13
0
 def addSmartMeter(self):
     meter = {}
     meter["port"] = ConsoleInputTools.get_input("Serielle Schnittstelle", require_val=True)
     meter["baudrate"] = ConsoleInputTools.get_number_input("Baudrate", map_no_input_to=2400)
     meter["parity"] = ConsoleInputTools.get_input("Parity", require_val=False, std_val="serial.PARITY_NONE")
     meter["stopbits"] = ConsoleInputTools.get_input("Stopbits", std_val="serial.STOPBITS_ONE")
     meter["bytesize"] = ConsoleInputTools.get_input("Bytesize", std_val="serial.EIGHTBITS")
     meter["key_hex_string"] = ConsoleInputTools.get_input("Entschlüsselungskey", require_val=True)
     meter["interval"] = ConsoleInputTools.get_number_input("Interval (Nicht mehr als 5)", map_no_input_to=1)
     meter["supplier"] = ConsoleInputTools.get_input("Netz Betreiber", std_val="EVN")
     self.c["meters"].append(meter)
     self.currIndex += 1
Example #14
0
    def run(self):
        from Tools import ConsoleInputTools as cit
        self.c["name"] = cit.get_input(
            "Unter welchem Namen soll der PC angegeben werden. \n-> ",
            require_val=True,
            std_val="WindowsPC")
        self.c["enabled/wmi_pnp"] = cit.get_bool_input(
            "PnP Geräte aktivieren? \n->", True)
        self.c["enabled/powerevents"] = cit.get_bool_input(
            "PowerEvents aktivieren? \n->", True)
        self.c["enabled/systray"] = cit.get_bool_input(
            "Systemtray aktivieren? \n->", True)

        if self.c["enabled/systray"]:
            print(
                "CTRL-C drücken sobald kein neuer Aktionseintrag erstellt werden soll."
            )
            while True:
                try:
                    name, entry = win32Systray.getNewDeviceEntry()
                    self.c["systray/itemList/{}".format(name)] = entry
                except KeyboardInterrupt:
                    break
Example #15
0
 def configure(self, conf: conf.BasicConfig, logger:logging.Logger):
     from Tools import ConsoleInputTools as cit
     conf["ModemManager/SigSecs"] = cit.get_number_input("Aktualisierung alle Sekunden? ", 60)
     conf["ModemManager/SMS/nummer"] = cit.get_input("SMS Empfänger Nummer", require_val=False)
     conf["ModemManager/SMS/notify_reboot"] = cit.get_bool_input("Bei Neustart SMS Senden", True)
Example #16
0
 def runConfig(conf: conf.BasicConfig, logger: logging.Logger):
     from Tools import ConsoleInputTools
     conf["JsonPipe/Path"] = ConsoleInputTools.get_input(
         "Pfad zur namedpipe angeben. (Pipe muss nicht vorhanden sein.)",
         True)
Example #17
0
 def runConfig(conf: conf.BasicConfig, logger: logging.Logger):
     from Tools import ConsoleInputTools
     conf["BleTrack/mode"] = ConsoleInputTools.get_bool_input(
         "Hauptsucher (nur einer pro MQTT instanz) ")
     conf["BleTrack/room"] = ConsoleInputTools.get_input("Name des Raums ")
Example #18
0
    def run(self):
        from Tools import ConsoleInputTools
        while True:
            action = ConsoleInputTools.get_number_input(
                "Was möchtest du tun?\n 1) Neuen anlegen\n 2)Einen löschen\n 3) Beenden\n ",
                3)
            if action != 1 and action != 2 and action != 3:
                print("Nee war keine gültige eingabe.")
                continue
            elif action == 2:
                print(
                    "Diese ShellSwitche stehen zur auswahl.\n 0) Nichts löschen."
                )
                indicies = {}
                index = 1
                for name in self.c.get("entrys", {}).keys():
                    print("{}) {}\n   On: \"{}\" Off: \"{}\"".format(
                        index, name,
                        self.c.get("entrys/{}/on_command".format(name), ""),
                        self.c.get("entrys/{}/off_command".format(name))))
                    indicies[index] = name

                toDelete = ConsoleInputTools.get_number_input(
                    "Bitte die Nummer eingeben.", 0)
                if toDelete == 0:
                    continue
                else:
                    if indicies.get(toDelete, None) is None:
                        print("Fehler! Zahl ungültig.")
                    else:
                        del self.c["entrys/{}/off_command".format(
                            indicies[toDelete])]

            elif action == 1:
                entry = {"wasOn": False}
                onOff = ConsoleInputTools.get_bool_input(
                    "Welcher Modus soll angewendet werden? Ein/Aus (J) oder Pulse (N)",
                    True)
                entry["init_command"] = ConsoleInputTools.get_input(
                    "Kommando beim initialisieren?: ")
                entry["clean_command"] = ConsoleInputTools.get_input(
                    "Kommando beim beenden?: ")
                entry["onOff"] = onOff
                if onOff:
                    entry["on_command"] = ConsoleInputTools.get_input(
                        "Kommando beim Einschalten?: ")
                    entry["off_command"] = ConsoleInputTools.get_input(
                        "Kommando beim Ausschalten?: ")
                else:
                    entry["on_command"] = ConsoleInputTools.get_input(
                        "Kommando beim Pulsieren?: ")
                entry["setOnLoad"] = ConsoleInputTools.get_bool_input(
                    "Status beim Starten wiederherstellen?")
                entry["name"] = ConsoleInputTools.get_input(
                    "Name des Switches?")
                entry["icon"] = ConsoleInputTools.get_input(
                    "Welches icon soll gesendet werden? (z.B.: mdi:lightbulb")
                entry["broadcast"] = ConsoleInputTools.get_bool_input(
                    "Soll der Switch in HomeAssistant gefunden werden?", True)
                self.c["entrys"][entry["name"].replace(" ", "")] = entry
            elif action == 3:
                break
        self.c["dereg"] = True