1. 15 Mar, 2023 4 commits
    • Levin Zimmermann's avatar
      component/opcua-server: notify erp5 if read · cd88b707
      Levin Zimmermann authored
      Notifying erp5 when a read occurs isn't as straightforward as sending a
      request to erp5 when a data change occurs.
      
      I think the reason for this is that OPC UA has the concept of subscriptions [1].
      But as far as I understand it this concept only applies to important events
      as data changes or OPCUA Events, but not to simple "read" or "browse"
      requests. So to catch those requests and forward them to ERP5 we actually
      need to adjust asyncua.
      
      In this patch I picked a dirty-adhoc-monkey-patching approach, a cleaner
      version may include defining a new custom ERP5Server, which inherits
      from asyncua base Server class.
      
      Because (AFAIK) it's not possible to track the read requests with the
      subscription method, we may want to unify our forwarding system by dropping
      the subscription approach and move everything to a patched InternalSession.
      
      [1] https://documentation.unified-automation.com/uasdkhp/1.4.1/html/_l2_ua_subscription.html
      cd88b707
    • Levin Zimmermann's avatar
      stack/erp5 += opcua-server · 352a84fb
      Levin Zimmermann authored
      Now the ERP5 SR creates an OPC UA server as an additional service which
      runs on the default ipv4/ipv6 on port 4840.
      
      This service notifies ERP5 whenever any read or write operation happened
      on any OPC UA node. It also notifies ERP5 if any other OPC UA event
      happens. It does so by calling the ERP5 script "opcua_test".
      352a84fb
    • Levin Zimmermann's avatar
      components += opcua-server · 9c321528
      Levin Zimmermann authored
      This new component creates a bin, which can be used to run an OPC UA
      server [1] as a SlapOS service.
      
      [1] https://opcfoundation.org/about/opc-technologies/opc-ua/
      9c321528
    • Levin Zimmermann's avatar
      software/erp5-py3: use OPC UA POC branch · e4ace7ff
      Levin Zimmermann authored
      We also need various ERP5 side changes for the new OPC UA support
      feature. During development we therefore use a specific ERP5 branch.
      Once merged, the ERP5 side patches should also be merged and this
      patch can be dropped.
      e4ace7ff
  2. 02 Mar, 2023 3 commits
    • Levin Zimmermann's avatar
    • Levin Zimmermann's avatar
      stack/erp5: version up zope.app.appsetup, py3 support · 949abbb0
      Levin Zimmermann authored
      This fixes the following error in zope:
      
      bash-5.1$ slapos node tail slappart6:zope-0-7b91211283be978a19e1bb10e54dc284-on-watch
      e76946300062f86fcc7/eggs/haufe.requestmonitoring-0.6.0-py3.8.egg/haufe/requestmonitoring/monitor.py", line 28, in <module>
          from zope.app.appsetup.interfaces import IProcessStartingEvent
        File "/srv/slapgrid/slappart45/srv/runner/software/6afc47a0c1078e76946300062f86fcc7/eggs/zope.app.appsetup-3.16.0-py3.8.egg/zope/app/appsetup/__init__.py", line 20, in <module>
          from zope.app.appsetup.appsetup import config, database
        File "/srv/slapgrid/slappart45/srv/runner/software/6afc47a0c1078e76946300062f86fcc7/eggs/zope.app.appsetup-3.16.0-py3.8.egg/zope/app/appsetup/appsetup.py", line 29, in <module>
          class SystemConfigurationParticipation(object):
        File "/srv/slapgrid/slappart45/srv/runner/software/6afc47a0c1078e76946300062f86fcc7/eggs/zope.app.appsetup-3.16.0-py3.8.egg/zope/app/appsetup/appsetup.py", line 30, in SystemConfigurationParticipation
          zope.interface.implements(IParticipation)
        File "/srv/slapgrid/slappart45/srv/runner/software/6afc47a0c1078e76946300062f86fcc7/eggs/zope.interface-5.4.0-py3.8-linux-x86_64.egg/zope/interface/declarations.py", line 778, in implements
          raise TypeError(_ADVICE_ERROR % 'implementer')
      zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/srv/slapgrid/slappart45/srv/runner/software/6afc47a0c1078e76946300062f86fcc7/eggs/haufe.requestmonitoring-0.6.0-py3.8.egg/haufe/requestmonitoring/monitor.zcml", line 5.2-5.49
          File "/srv/slapgrid/slappart45/srv/runner/instance/slappart6/srv/erp5shared/etc/site.zcml", line 26.2-26.66
          TypeError: Class advice impossible in Python3.  Use the @implementer class decorator instead.
      
      zope.app.appsetup 4.2.0 is the first version which supports py3.8:
      
        https://pypi.org/project/zope.app.appsetup/4.2.0/#section-1
      949abbb0
    • Levin Zimmermann's avatar
  3. 21 Oct, 2022 1 commit
  4. 18 Oct, 2022 1 commit
  5. 17 Oct, 2022 20 commits
  6. 15 Oct, 2022 1 commit
  7. 14 Oct, 2022 1 commit
  8. 13 Oct, 2022 6 commits
  9. 12 Oct, 2022 3 commits