Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Objektwerte per python auslesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Objektwerte per python auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      solarbroker last edited by

      Hallo,
      ich bin gerade dabei mich in iobroker einzuarbeiten.
      Derzeit spiele ich ein wenig mit meinem Raspberry 2 und einem LCD1602.
      Ich kann per python auf das LCD schreiben und im iobroker habe ich erfolgreich Objekte angelegt.
      Als nächstes würde ich gerne in python die Objektwerte auslesen damit ich diese am Display darstellen kann.
      Gibt es eine python library die Befehle bereitstellt um das zu bewerkstelligen ?

      S 1 Reply Last reply Reply Quote 0
      • S
        solarbroker @solarbroker last edited by

        Ok, habe es dann doch selber rausgefunden, es geht mit Adapter "simple RESTful API" und ein bisschen Code.

        #!/usr/bin/env python3
        import LCD1602
        import time
        import requests
        
        
        def pollandwritedata():
        	api_url = "http://192.168.178.70:8087/getPlainValue/modbus.0.inputRegisters.5016_Total_DC_Power"
        	api_url2 = "http://192.168.178.70:8087/getPlainValue/modbus.0.inputRegisters.13009_Export_power"
        	api_url3 = "http://192.168.178.70:8087/getPlainValue/modbus.0.inputRegisters.13022_Battery_level_"
        	api_url4 = "http://192.168.178.70:8087/getPlainValue/modbus.0.inputRegisters.13007_Load_power_"
        	TDCP = 'I:'+str(requests.get(api_url).json())+'W'
        	EDCP = 'O:'+str(requests.get(api_url2).json())+'W'
        	BP = 'B:'+str(requests.get(api_url3).json())+'%'
        	LP = 'C:'+str(requests.get(api_url4).json())+'W'
        #	print(TDCP)
        #	print(EDCP)
        #	print(BP)
        #	print(LP)
        	LINE1 = TDCP+' '+BP
        	LINE2 = EDCP+' '+LP
        	LCD1602.write(0,0, LINE1)
        	LCD1602.write(0,1, LINE2)
        
        def setup():
        	LCD1602.init(0x27, 1)	# init(slave address, background light)
        	LCD1602.write(0, 0, '')
        	LCD1602.write(0, 1, '')
        	time.sleep(2)
        
        def destroy():
        	LCD1602.clear()
        
        if __name__ == "__main__":
        	try:
        		setup()
        		while(1):
        			pollandwritedata()
        			time.sleep(2)
        			destroy()
        
        	except KeyboardInterrupt:
        		destroy()
        

        mit raspi-config muss natürlich der I2C vorher eingeschaltet werden.

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        935
        Online

        31.8k
        Users

        80.0k
        Topics

        1.3m
        Posts

        1
        2
        113
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo