Hallo Leute!
Ein Frund hat einen MPI Hybrid 10kW 3PH Wechselrichter laufen und wir wollen eine Steuerung für einen Heizstab bauen. Ist es möglich das GPIO Ausgänge vom Raspberry direkt von der Solaranzeige gesteuert werden (am gleichen Raspberry wo die Solaranzeige läuft)?
Am besten wenn x kW Überschuss ins Netz gehen Ausgang 1 ein
Sollte noch immer überschuss vorhanden sein, den nächsten Ausgeng usw...
Ausgänge direkt am GPIO Steuern
Re: Ausgänge direkt am GPIO Steuern
Möglich wäre das schon, nur gibt es elegantere Lösungen.
Z.B. mit einem Shelly oder Sonoff WLAN Schalter.
Z.B. mit einem Shelly oder Sonoff WLAN Schalter.
--------------------------------------
Ulrich [Admin]
Ulrich [Admin]
Re: Ausgänge direkt am GPIO Steuern
Danke für den Tipp!
Wie würde das jetzt funktionieren? Ich muss ja dem Raspi irgendwie beibrngen das er den Shelly ein oder ausschaltet?
Muss ich das im Setup irgendwo einstellen?
Wie würde das jetzt funktionieren? Ich muss ja dem Raspi irgendwie beibrngen das er den Shelly ein oder ausschaltet?
Muss ich das im Setup irgendwo einstellen?
Re: Ausgänge direkt am GPIO Steuern
Nein, dafür gibt es noch keine fertige Lösung. Da musst Du selber einen Script schreiben, der das Ein- und Ausschalten übernimmt. Es ist halt nur etwas einfacher, da man nicht in die Hardware eingreifen muss.
--------------------------------------
Ulrich [Admin]
Ulrich [Admin]
Re: Ausgänge direkt am GPIO Steuern
So ih hab mal mit Python ein wenig herumgespielt und jetzt wird mein Heizstab in Stufen je nach eingespeister PV Leistung per MQTT geschaltet.
Ich würde jetzt noch gerne die Batteriespannung mit als Bedingung dazunehmen aber ich bekomme es irgendwie nicht hin das ich die verschiedenen Nachrichten auseinanderhalte...
Hier mal mein Code:
Hat jemand eine Idee wie ich das machen könnte?
Ich würde jetzt noch gerne die Batteriespannung mit als Bedingung dazunehmen aber ich bekomme es irgendwie nicht hin das ich die verschiedenen Nachrichten auseinanderhalte...
Hier mal mein Code:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
import paho.mqtt.client as mqtt
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
chan_list = [29,31,33,35,37]
GPIO.setup(chan_list, GPIO.OUT)
GPIO.output(chan_list, GPIO.HIGH)
Schwelle1 = -1700 # Die Schwelle ab der die Heizungsstufe
Schwelle2 = -2000 # eingeschalten wird in Watt
Schwelle3 = -3700
Schwelle4 = -4500
Schwelle5 = -7200
Heizleistung1 = -1200
Heizleistung2 = -1500
Heizleistung3 = -3200
Heizleistung4 = -4000
Heizleistung5 = -6700
Stufe1 = [33] #gpio Pins zu den Stufen
Stufe2 = [33,35]
Stufe3 = [29,35]
Stufe4 = [29,33,35]
Stufe5 = [29,31,35]
def on_message(client, userdata, message):
global kompenser
msg = int(message.payload)
print msg
# print kompenser
if msg + kompenser < Schwelle5 :
GPIO.output(chan_list, GPIO.HIGH)
GPIO.output(Stufe5, GPIO.LOW)
kompenser = Heizleistung5
elif msg + kompenser < Schwelle4 and msg + kompenser > Schwelle5:
GPIO.output(chan_list, GPIO.HIGH)
GPIO.output(Stufe4, GPIO.LOW)
kompenser = Heizleistung4
elif msg + kompenser < Schwelle3 and msg + kompenser > Schwelle4:
GPIO.output(chan_list, GPIO.HIGH)
GPIO.output(Stufe3, GPIO.LOW)
kompenser = Heizleistung3
elif msg+ kompenser < Schwelle2 and msg + kompenser > Schwelle3:
GPIO.output(chan_list, GPIO.HIGH)
GPIO.output(Stufe2, GPIO.LOW)
kompenser = Heizleistung2
# elif msg + kompenser < Schwelle1 and msg + kompenser > Schwelle2:
# GPIO.output(chan_list, GPIO.HIGH)
# GPIO.output(Stufe1, GPIO.LOW)
# kompenser = Heizleistung1
# print kompenser
else:
GPIO.output(chan_list, GPIO.HIGH)
kompenser = 0
def on_connect(client, userdata, flags, rc):
client.subscribe('solaranzeige/panta10/ac_eingangsleistung')
msg = 0
kompenser = 0
Broker_address = "localhost"
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(Broker_address)
print ("Verbunden mit:"+ Broker_address)
client.loop_forever()