Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 762
» Latest member: johnsonfe
» Forum threads: 298
» Forum posts: 1,683

Full Statistics

Online Users
There are currently 255 online users.
» 0 Member(s) | 254 Guest(s)
Bing

Latest Threads
SIP Stopped Working After...
Forum: Report a problem
Last Post: dan
2024 Dec 16, 04:19 PM
» Replies: 6
» Views: 220
Master keeps resetting to...
Forum: Report a problem
Last Post: DavidCNZ
2024 Dec 04, 08:57 PM
» Replies: 12
» Views: 239
installation fails
Forum: Installation and set up questions
Last Post: dan
2024 Nov 20, 06:52 PM
» Replies: 4
» Views: 88
Allow plugins ability to ...
Forum: Feature requests
Last Post: jonathan
2024 Aug 11, 10:56 PM
» Replies: 11
» Views: 485
Tank Fill Function
Forum: Feature requests
Last Post: dan
2024 Jul 12, 03:07 PM
» Replies: 3
» Views: 266
Curl Method Menu
Forum: Installation and set up questions
Last Post: astrogerard
2024 Jun 22, 03:15 PM
» Replies: 4
» Views: 331
Module i2c relay.
Forum: Feature requests
Last Post: litronas
2024 Jun 22, 12:45 PM
» Replies: 5
» Views: 381
problem after upgrade to ...
Forum: Installation and set up questions
Last Post: Darek
2024 May 19, 08:54 PM
» Replies: 2
» Views: 256
Monthly Adjust per Statio...
Forum: Writing plugins
Last Post: cdesouza
2024 Apr 18, 06:33 AM
» Replies: 17
» Views: 869
MQTT Plugin initialised b...
Forum: Report a problem
Last Post: cdesouza
2024 Mar 25, 03:56 PM
» Replies: 2
» Views: 233

 
  Hass Plugin
Posted by: DrLabel - 2022 Jan 18, 09:19 AM - Forum: Plugin questions - Replies (5)

Is the Hass plugin working?

Print this item

  sip3.service fail
Posted by: numero9 - 2021 Dec 05, 10:42 AM - Forum: Installation and set up questions - Replies (3)

Hello again,
Since I had some problems after the last update, I want to start over with a clean install.
I already have it installed and working, except for the automatic start of sip.py.
following the instructions I have done these steps:

Code:
sudo cp SIP/sip3.service /etc/systemd/system/
sudo systemctl enable sip3.service
sudo reboot
after restarting, the web doesn't work.
Quote:pi@Riego:~ $ systemctl status sip3
● sip3.service - SIP for Python3
    Loaded: loaded (/etc/systemd/system/sip3.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Sun 2021-12-05 11:12:23 CET; 3min 42s ago
    Process: 336 ExecStart=/usr/bin/python3 -u /home/pi/SIP/sip.py (code=exited, status=1/FAILURE)
  Main PID: 336 (code=exited, status=1/FAILURE)
        CPU: 4.944s

dic 05 11:12:23 Riego sip[336]:  File "/home/pi/SIP/web/httpserver.py", line 178, in runsimple
dic 05 11:12:23 Riego sip[336]:    server.start()
dic 05 11:12:23 Riego sip[336]:  File "/home/pi/SIP/cheroot/server.py", line 1820, in start
dic 05 11:12:23 Riego sip[336]:    self.prepare()
dic 05 11:12:23 Riego sip[336]:  File "/home/pi/SIP/cheroot/server.py", line 1779, in prepare
dic 05 11:12:23 Riego sip[336]:    raise socket.error(msg)
dic 05 11:12:23 Riego sip[336]: OSError: No socket could be created -- (('192.168.1.60', 80): [Errno 99] Cannot assign requested address)
dic 05 11:12:23 Riego systemd[1]: sip3.service: Main process exited, code=exited, status=1/FAILURE
dic 05 11:12:23 Riego systemd[1]: sip3.service: Failed with result 'exit-code'.
dic 05 11:12:23 Riego systemd[1]: sip3.service: Consumed 4.944s CPU time.

if I execute  'sudo systemctl restart sip3.service' then works ok.
Quote:pi@Riego:~ $ sudo systemctl restart sip3.service
pi@Riego:~ $ systemctl status sip3
● sip3.service - SIP for Python3
    Loaded: loaded (/etc/systemd/system/sip3.service; enabled; vendor preset: enabled)
    Active: active (running) since Sun 2021-12-05 11:38:24 CET; 1s ago
  Main PID: 715 (python3)
      Tasks: 1 (limit: 415)
        CPU: 1.736s
    CGroup: /system.slice/sip3.service
            └─715 /usr/bin/python3 -u /home/pi/SIP/sip.py

dic 05 11:38:24 Riego systemd[1]: Started SIP for Python3.

Could it be that the network is not ready yet?
Thank you

Print this item

  Some problems post update
Posted by: numero9 - 2021 Nov 30, 03:10 PM - Forum: Report a problem - Replies (10)

Hi Dan, I have some problems after upgrading to version 4.1.28.





I updated and named the programs. Great addition!









Now the green controls do not work. Hovering the mouse over them moves as usual, but clicking the mouse does not change their state.





The status indicators for each zone also fail me. It always says "Loading ...".





Yesterday the irrigation failed, but today it has worked. I'll keep watching.



As always, thanks for all your work Dan.



[Image: pJfmGafSLz.jpg]

Print this item

  Program naming added
Posted by: dan - 2021 Nov 24, 05:40 PM - Forum: Announcements - Replies (1)

A feature that allows irrigation programs to be named has been added as of SIP version 4.2.28.
An input field is located at the top of the program set up page.
Program names appear on the program listing page, in log entries and in the legend at the bottom of the timeline on the home page.

Dan

Print this item

  16 relay board
Posted by: Darek - 2021 Nov 23, 11:38 PM - Forum: Report a problem - Replies (2)

After a crash of my PI, I have a problem with new installation. After installing “relay 16” plugin, I have still 8 station on main screen. Any help ? 

In log I Have such error:
Problem switching relays list index out of range 19
Problem switching relays list index out of range 21
Problem switching relays list index out of range 23
Problem switching relays list index out of range 29
Problem switching relays list index out of range 31
Problem switching relays list index out of range 33
Problem switching relays list index out of range 35
Problem switching relays list index out of range 37

Print this item

  Way to Change program names?
Posted by: SeaBings - 2021 Nov 19, 06:52 PM - Forum: Installation and set up questions - Replies (5)

Howdy folks! Love the program! We are about to Impliment some crop steering using SIP. 

I was wondering if there is a way to rename the programs? It would be beneficial to us as were will be adding about 15 different feeds for each room about 10 rooms. and each room with will 3 sets of differnt watering schedules based on times of the cycle. 

As it stands they are listed as program 1, program 2 etc. We would like to be able to label them Flower 1 Transisition, Flower 1 bloom, Flower 1 Ripen. Etc.


Is this possible? Did I miss something simple? Also we are currnently still on 3.2.62 is it maybe in the newer versions?

Thank you kindly for any assistance anyone may be able to provide.

Print this item

  New port expander plugin
Posted by: dan - 2021 Oct 19, 04:47 PM - Forum: Announcements - Replies (2)

Astro Gerard has contributed an excellent plugin that allows for a large number is stations to be easily and inexpensively added to SIP.

It is called "pcf857x_plugin" and is available from the SIP plugins repo through SIP's plugin manager page. It used i2c and requires SIP to be running under Python 3.

Gerard is keen to receive user feedback on his plugin so please post here with any comments.

Dan

Print this item

  master and slave controllers on different networks
Posted by: paul - 2021 Oct 14, 12:26 PM - Forum: Feature requests - Replies (1)

Hi Dan,

Is it possible to connect the master and slave controllers on different networks (i.e., with distinct public ip addresses)?

Here is what I have tried:

0. I installed mosquitto broker on my master controller.

1. I installed openvpn on the master controller so that I can access it from outside my home network via:
http://master01.ddns:xxxx, where xxxx denotes port forwarding which I configure on my router.

2. On the master controller, for mqtt_bases setting:
broker host: localhost
broker port: 1883
...

Then to verify that the master can control the slave when they are on the same network:

3. On the slave controller, for mqtt_base setting:
broker host: 192.168.0.167 # which is the local ip address of the master controller
broker port: 1883
...

I have verified the above setup works as expected.

4. Now I put the slave controller on a different network, and try to connect to the master via the master's public ip address:
broker host: master01.ddns:xxxx
broker port: 1883


Actually I have tried various things for #4 but none works so far:
4a. broker host: master01.ddns:xxxx
4b. broker host: master01.ddns:1883 # of course I set my router to port forward 1883 as well
4c. broker host: master01.ddns
4d. broker host: http://master01.ddns:xxxx
4e. broker host: http://master01.ddns:1883
4f. broker host: http://master01.ddns

So I am wondering if I am attempting to do something that is not possible.

If not possible, what about using an online mqtt broker instead of a private one?

I haven't looked at the plugin codes yet, but do you know offhand if I need to modify anything?

I am hoping if I use the same topic for both publication and subscription, as the plugins do in mqtt_base for master and slave respectively, then maybe the plugins will work without modifications.

--Paul

Print this item

  Updating combine_stations assignment when new stations are added
Posted by: paul - 2021 Oct 14, 08:29 AM - Forum: Feature requests - No Replies

Hi Dan,

The combine_stations plugin uses the final set of 8 stations as virtual (combo) stations.

A complication arises when this plugin is used in conjunction with the mqtt_slave plugin.

The latter plugin requires adding n (=1,2,...) extension boards depending on how many equivalent boards the slave controller has.
For example, n=3 if slave has 16 physical channels and 8 virtual channels.

This number n is added to the master controller's "options/station handling/station extensions" setting.

To be concrete, in my setup, my master controller has 16 physical stations and 8 virtual stations.
V17-24 are for setting up virtual stations in the master controller.

If the slave_controller is introduced, the master controller has reassigned the virtual stations to V41-48.
So a user has to re-program the virtual channels every time a new slave controller is added.

Is it possible to automatically copy over the virtual stations assignment so that the content of V41 is copied from V17?

V17 >> V41
V18 >> V42
...

And to remove the original virtual assignments since they are no longer effective?

V17 --> S17
V18 --> S18
...

And also to repeat the process every time a new stations are added?

Print this item

  oled.py plugin
Posted by: paul - 2021 Oct 09, 08:41 AM - Forum: Feature requests - Replies (13)

Hi Dan,

I expanded ssd1306.py plugin to include other oled devices.

This oled.py plugin mimics the ssd1306.py plugin.

It uses the luma-oled library which has to be installed as:

sudo -H pip3 install --upgrade luma.oled

reference:
https://luma-oled.readthedocs.io/en/late...tware.html

The library works with these drivers:
SSD1306 / SSD1309 / SSD1322 / SSD1325 / SSD1327 / SSD1331 / SSD1351 / SSD1362 / SH1106 / WS0010

I used the built-in functions in luma-oled library. 
So I am able to shorten the code base, from 1488 lines to 700+ lines.

For reference, I make the following modifications on ssd1306.py.

The following three classes are all combined into one LCD class:
1. Screen
2. Screenblock
3. LCD

Some of the functions in ssd1306.py have corresponding functions in luma-oled library:

ssd1306 function --> luma-oled function
set_power(on=True) --> show()
_force_power_off() --> hide()
clear() --> clear()

The display syntax is also simplified.
Instead of the write_line() function specifying which lines to write on which row, and what font_size to use,
a new write_para() takes a block of text in one go and splits it into separate lines for display, and automatically calculates the appropriate font_size and row number for each line.

The text block contains a line separator -- semicolon followed by a space: "; "
For example, txt_block = 'line_1; line_2; [line_3]'

Any line_x too long is automatically further split via a wrap(width=wrap_width) function with a global wrap_width parameter specifying max number of characters per line.
So wrap_width is a factor that will determine font_size, but it is set once to apply globally to all lines. 

I use wrap_width = 20 to allow for very long line (small font_size) for the short 128x64 display.
And wrap_width = 15 for larger text size on the tall 128x128 display.

The wrap_width is not configurable to avoid confusion; but can be made so if necessary.

See attached oled.luma.plugin.pdf for examples of txt_blocks.

Screen dimensions (height and width in pixels) are pre-configured in the drivers.  So no need to provide configuration settings.

The 'rotate' setting allows for display rotation in 90degree increments.

I use i2c_write_addr (e.g. 0x3C) instead of the i2c_hw_addr (correspondingly 0x78), since the plugin does not need the latter.
And the former is conveniently accessible via the 'i2cdetect -y 1' command.

I have not tried a color oled (e.g. ssd1327, ssd1331, ssd1351). 
The ssd1306 yellow-blue display is actually monochromatic in signal but is rendered different colors in the two areas.
The ssd1327 I have is capable of 4-bit grayscale. I have placed an order for an RGB version.  Will try it out and report.
The sh1106 I have does not work properly: the top line is never displayed. I am not sure if I have a defective unit.

It would be interesting to see how well it works on other displays.



Attached Files
.zip   oled_plugin.zip (Size: 364.79 KB / Downloads: 4)
Print this item